![图片](https://static.doc-tr.net/mp-images/17/1713c0b21aeb505d864bfd6a549985cf.jpg?)
我开始为 Apple AGX (针对 M1 和 M2 系列芯片) 开发一个新的内核 GPU 驱动程序。
这些 GPU 运行固件并具有相当复杂的共享内存数据结构,需要由主机管理,因此我一直倾向于 Rust,它具有安全性、更好的元编程和通用表达能力。
我有一个用 Python 编写的原型驱动程序,但更高级的语言对于对 GPU 进行逆向工程,以及为驱动程序设计不同的工作方式非常有帮助。
我意识到这是 Linux 上 Rust 语言的早期阶段,这是一个雄心勃勃的挑战,但我愿意学习,驱动程序需要一些时间才能稳定到任何一种方式(尤其是 UAPI)都可以上游的程度,
我听说 Rust For Linux 最迟将在接下来的几个内核周期中被合并,因此用 Rust 写 Linux 驱动感觉不像以前那样是一场赌博。
有关使用 Rust 写 Apple GPU 驱动的详细描述,可以通过 rust-for-linux 邮件列表 找到:https://lore.kernel.org/rust-for-linux/[email protected]/t/#u
往期推荐
文章评论