雖然自 v23.1 以來,Mesa 中已經有 Rust OpenCL“Rusticl”實現的 RadeonSI 驅動程序支持,但現在合併到 Mesa 23.2 是對 Rusticl 的實驗性支持,用於 GCN 之前的顯卡的舊 Radeon R600g。
AMD 帶有 ROCm 的官方 OpenCL 計算堆棧僅支持新一代 GPU,而 Mesa 較舊的“Clover”OpenCL Gallium3d 狀態跟踪器長期以來一直支持 R600g 驅動程序,但缺乏 OpenCL 圖像支持和其他限制。 Mesa 中新的 OpenCL 解決方案在過去一年中很好地結合在一起,它是用 Rust 編程語言編寫的 Rusticl。
Rusticl 已經支持 RadeonSI 驅動程序和其他主要的 Mesa 驅動程序,而現在 Gert Wollny 已經添加了對 R600g 驅動程序的實驗性支持。 Gert 在現在合併的合併請求中指出:
“MR 添加一些對 global_load 和 global_store 的支持,它最多只能處理 vec4 float 或 vec2 double 值,並且根本不支持圖像-我認為 Clover 上的 r600 也不支持這些。AFAICS 問題不在於著色器,但在圖像狀態設置中。
啟用後端仍然需要導出 RUSTICL_ENABLE=r600″
因此,在使用 Mesa 23.2 構建 Rusticl 支持並使用“RUSTICL_ENABLE=r600”環境變量時,現在可以使用這個現代 OpenCL 實現AMD Radeon HD 6000 系列顯卡及更早版本。但遺憾的是,目前仍然缺乏 OpenCL 圖像支持,看看它的性能如何以及最終它的成熟度如何會很有趣。