Mesa 的 OpenCL Rust 实现现在支持 OpenCL 3.0

为 Mesa 项目开发的用 Rust 编写的新 OpenCL 实现 (rusticl) 已成功通过 Khronos 联盟用于评估与 OpenCL 3.0 规范兼容性的 CTS(Kronos 一致性测试套件)测试套件。该项目由红帽公司的 Karol Herbst 开发,他参与了 Mesa、Nouveau 驱动程序和 OpenCL 开放堆栈的开发。值得注意的是,Carol 就 rustcl 对 OpenCL 3.0 支持的官方认证事宜联系了 Khronos。

测试在配备第 12 代 Intel GPU (Alder Lake) 的系统上完成。这项工作是使用 Mesa Iris 驱动程序进行的,但该项目还应该与使用 NIR 着色器的无类型中间表示 (IR) 的其他 Mesa 驱动程序配合使用。将 Rusticle 与 Mesa 合并的请求仍在审查中,尚未决定是否将 Rust 代码包含在 Mesa 中。在 Rusticl 被主要 Mesa 组合接受之前,您可以使用单独的分支进行构建,在编译时您应该指定构建参数“-Dgallium-rustcl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=真的”。

Rusticle 类似于 Mesa 的 OpenCL 前端 Clover,也是使用 Mesa 提供的 Gallium 接口开发的。 Clover 股份已被废弃很长时间,rusticl 被定位为未来的替代者。除了实现 OpenCL 3.0 兼容性之外,Rusicle 项目与 Clover 的不同之处在于支持 OpenCL 扩展进行图像处理,但尚不支持 FP16 格式。

Для генерации биндингов для Mesa и OpenCL, позволяющих вызывать Rust-функции из кода на Си и наоборот, в Rusticl задействован rust-bindgen. Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster