Rusticl 現已通過認證並支持 OpenCL 3.0

生鏽2

Mesa 的 Rusticl 控制器已成功通過一致性測試套件 (CTS) 測試

很多 Mesa 項目的開發者宣布了 rusticl 控制器的認證 由 Khronos 組織,e 成功通過了所有 CTS 測試 (Kronos 一致性測試套件)並被認為完全符合 OpenCL 3.0 規範,該規範定義了 C 語言 API 和擴展以編排跨平台並行計算。

有了這個,就有可能獲得一個證書,允許正式聲明與標準的兼容性並使用與它們相關的 Khronos 商標。

該驅動程序使用 Rust 編寫,由 Red Hat 的 Karol Herbst 開發,他參與了 Mesa、Nouveau 驅動程序和開放式 OpenCL 堆棧的開發。

Rusticl 通過了所​​有 CTS 測試

Rusticl 剛剛成為 Mesa 中的第一個 Rust 代碼,OpenCL 實現最近合併到 Mesa 22.3 版本中,應該注意的是,測試是在集成第 12 代英特爾 GPU 的系統上使用 Gallium3D Iris 驅動程序進行的。

對於那些不知道控制器的人,Rusticl 應該知道這個 作為 Mesa 的 OpenCL Clover 接口的對應物 並且也是使用 Mesa 的 Gallium 接口開發的。 三葉草長期以來一直被忽視,而 rusticl 被定位為未來的替代品。 Rusticl項目除了實現了OpenCL 3.0的兼容性外,與Clover的不同之處在於它支持圖像處理的OpenCL擴展,但尚不支持FP16格式。

Rusticl 使用 rust-bindgen 為 Mesa 和 OpenCL 生成綁定,允許從 C 代碼調用 Rust 函數,反之亦然。 從 2020 年開始就討論了在 Mesa 項目中使用 Rust 語言的可能性。

其中 Rust 支持的優點提到提高驅動程序的安全性和質量 通過消除使用內存時的典型問題,以及 在 Mesa 中包含第三方開發的可能性,例如 Kazan(Rust 中 Vulkan 的實現)。 缺點中有構建系統的複雜性,不願意鏈接到加載包系統,對構建環境的要求增加,以及需要在構建關鍵所需的構建依賴項中包含 Rust 編譯器Linux 上的桌面組件。

支持 Rust 語言的代碼和 rusticl 控制器已被主流 Mesa 接受 並將在預計於 22.3 月下旬發布的 Mesa XNUMX 版本中提供。 默認情況下將禁用 Rust 和 Rusticl 支持,並且需要使用顯式選項進行編譯“-D 鎵-rustcl=true -Dllvm=啟用 -Drust_std=2021“。

編譯時,需要額外依賴 rustc 編譯器、bindgen、LLVM、SPIRV-Tools 和 SPIRV-LLVM-Translator。

值得一提的是,他OpenCL 3.0 API 涵蓋所有 OpenCL 版本(1.2、2.x),無需為每個版本提供單獨的規範。 OpenCL 3.0 提供了通過集成附加規範來擴展核心功能的能力,這些規範將以選項的形式重疊,而不會阻礙 OpenCL 1.2/2.X 的整體特性。

此外,規範 OpenCL 3.0 已與環境、擴展和規範保持一致 通用中間表示 SPIR-V,那也是 使用 Vulkan API。 有了它,對 SPIR-V 1.3 規範的支持也作為可選功能添加到 OpenCL 3.0 內核中。 通過使用計算內核的 SPIR-V 中間表示,添加了對子組操作的支持。

最後,同樣值得注意的是 Nouveau 驅動程序的開發工作,也是由 Carol Herbst 完成的。 Nouveau 驅動程序基於 30 年 2020 月發布的 Ampere 微架構為 GNU NVIDIA GeForce RTX 6.2xx 添加了基本的 OpenGL 支持。與新芯片支持相關的更改將包含在 Linux 22.3 和 Mesa XNUMX 內核中。

如果您有興趣了解更多,可以查閱詳情 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。