Rusticl 的開放式驅動程序經認證符合 OpenCL 3.0 標準

Mesa專案的開發人員宣布rusticl驅動程式獲得了Khronos組織的認證,該驅動程式已成功通過CTS(Kronos一致性測試套件)集的所有測試,並被認為與OpenCL 3.0規範完全相容,該規範定義了API和用於組織跨平台並行運算的 C 語言擴充。 取得證書可以讓您正式聲明符合標準並使用相關的 Khronos 商標。 該測試是在具有 12 代整合 Intel GPU 並使用 Gallium3D Iris 驅動程式的系統上進行的。

這個驅動程式是用 Rust 編寫的,由 Red Hat 的 Karol Herbst 開發,他參與了 Mesa、Nouveau 驅動程式和 OpenCL 開放堆疊的開發。 Rusticle 類似 Mesa 的 OpenCL 前端 Clover,也是使用 Mesa 提供的 Gallium 介面開發的。 Clover 已經被廢棄很久了,rusticl 被定位為它未來的替代品。 除了實作 OpenCL 3.0 相容性之外,Rusicle 專案與 Clover 的不同之處在於支援 OpenCL 擴充功能進行影像處理,但尚未支援 FP16 格式。 為了產生 Mesa 和 OpenCL 的綁定,讓您可以從 C 程式碼呼叫 Rust 函數,反之亦然,Rusticle 中使用了 rust-bindgen。

Rust 語言支援程式碼和 rustcl 驅動程式已被 Mesa 主流接受,並將在預計於 22.3 月底發布的 Mesa 2021 版本中提供。 預設情況下,Rust 和 rustcl 支援將被停用,並且需要使用明確指定的「-D gallium-rustcl=true -Dllvm=enabled -Drust_std=XNUMX」選項進行建置。 建置時,您將需要 rustc 編譯器、bindgen 綁定產生器、LLVM、SPIRV-Tools 和 SPIRV-LLVM-Translator 作為附加相依性。

自 2020 年以來,一直在討論在 Mesa 專案中使用 Rust 語言的可能性。 在 Rust 支援的優勢中,提到了驅動程式安全性和品質的提高,這是由於消除了使用記憶體時的典型問題,以及在 Mesa 中包含第三方開發的能力,例如 Kazan(Vulkan 的實現)在鐵鏽中)。 缺點包括建置系統的複雜性增加、不願意與貨物包系統綁定、對建置環境的要求擴大以及需要將 Rust 編譯器包含在 Linux 上建置關鍵桌面元件所需的建置依賴項中。

此外,我們還可以注意到 Nouveau 驅動程式的開發工作,也是由 Carol Herbst 進行的。 Nouveau 驅動程式添加了對基於 Ampere 微架構的 GNU NVIDIA GeForce RTX 30xx 的基本 OpenGL 支持,自 2020 年 6.2 月起發布。 與新晶片支援相關的變更將包含在 Linux 22.3 核心和 Mesa XNUMX 中。

來源: opennet.ru

添加評論