Mesa 长期以来一直拥有支持 OpenCL 1.x 的 OpenCL“Clover”Gallium3D 状态跟踪器,但缺少重要的扩展,从而损害了它的实用性。近年来,随着 AMD 支持他们的 ROCm 计算堆栈,以及英特尔为 oneAPI 和 OpenCL 支持提供他们的计算运行时堆栈,除了红帽工程师和社区之外,Clover 也没有主要的支持者。现在,尽管“Rusticl”已经作为用 Rust 编程语言编写的新 Mesa OpenCL 实现发布。
Rusticl 由 Red Hat 的知名 Mesa 贡献者 Karol Herbst 创立。在 Red Hat 担任开源 NVIDIA “Nouveau”工程师时,他一直致力于 Mesa 的 Clover 计算支持和其他工作。Rusticl 是 Herbst 尝试学习 Rust 编程语言并提供新的(并且希望是更好的)OpenCL 实现的尝试。
Rusticl 宣传 OpenCL 3.0 版本,目前它通过了大部分 OpenCL 1.0 一致性测试套件和各种其他测试用例。与陈旧的 Clover 代码相比,Rusticl 更注重现代 OpenCL。然而值得注意的是,Rusticl 目前仍然没有 OpenCL 图像支持,这是 Clover 的另一个问题。目标是让 Rustic 正确通过 OpenCL 3.0 一致性测试套件。
Rusticl 依赖clc将 OpenCL 源代码编译为 SPIR-V。Rusticl 还依赖于支持 NIR 的 Mesa Gallium3D 驱动程序,但所有主要驱动程序都已经这样做了。
目前,Rustic 的代码不到一万行。有关此 Rust 编写的 Mesa OpenCL 实现的更多详细信息,请参阅其合并请求。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun140146.html