A Rusticl nyílt illesztőprogramja OpenCL 3.0-kompatibilis

A Mesa projekt fejlesztői bejelentették, hogy a rusticl illesztőprogramot a Khronos tanúsította. A program sikeresen teljesítette a Kronos Conformance Test Suite (CTS) összes tesztjét, és teljes mértékben kompatibilisnek tekinthető az OpenCL 3.0 specifikációval, amely API-kat és C nyelvi kiterjesztéseket definiál a platformfüggetlen párhuzamos számítástechnikához. A tanúsítvány megszerzése lehetővé teszi a Khronos számára, hogy hivatalosan is kijelentse a szabványoknak való megfelelést, és használja a kapcsolódó Khronos védjegyeket. Az ellenőrzést egy 12. generációs Intel integrált GPU-kkal rendelkező rendszeren végezték, amely a Gallium3D Iris illesztőprogramot használja.

A drivert Rust nyelven írták, és a Red Hat munkatársa, Karol Herbst fejlesztette, aki részt vett a Mesa, a Nouveau driver és a nyílt forráskódú OpenCL stack fejlesztésében is. A Rusticl a Mesa OpenCL frontendjének, a Clovernek az analógjaként működik, és szintén a Mesa Gallium felületével fejlesztik. A Clovert már régóta elhagyták, és a rusticl-t a jövőbeli utódjaként pozícionálják. Az OpenCL 3.0-val való kompatibilitás elérése mellett a Rusticl abban különbözik a Clovertől, hogy támogatja az OpenCL-kiterjesztéseket a képfeldolgozáshoz, de még nem támogatja az FP16 formátumot. A Rusticl a rust-bindgen függvényt használja a Mesa és az OpenCL kötéseinek generálására, lehetővé téve a Rust függvények meghívását C kódból és fordítva.

A Rust nyelvi támogató kódot és a rusticl illesztőprogramot elfogadták a Mesa magba, és a Mesa 22.3-as verziójában jelennek meg, várhatóan november végén. A Rust és a rusticl támogatása alapértelmezés szerint le lesz tiltva, és explicit fordítási opciókat igényel, például a "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". További fordítási függőségek közé tartozik a rustc fordító, a bindgen, az LLVM, a SPIRV-Tools és a SPIRV-LLVM-Translator.

A Rust nyelv Mesa projektben való használatának lehetőségéről 2020 óta folyik a vita. A Rust-támogatás előnyei között említik a gyakori memóriaproblémák kiküszöbölésével javuló illesztőprogram-biztonságot és minőséget, valamint azt a lehetőséget, hogy harmadik féltől származó fejlesztéseket, például a Kazant (a Vulkan Rust-implementációja) beépítsék a Mesába. A hátrányok közé tartozik a megnövekedett építési rendszer bonyolultsága, a rakománycsomagoló rendszerre való támaszkodás vonakodása, a kibővített építési környezeti követelmények, valamint a Rust fordító beépítésének szükségessége a Linuxon kulcsfontosságú asztali komponensek fordításához szükséges építési függőségekbe.

Emellett Carol Herbst munkája a Nouveau illesztőprogramon is figyelemre méltó. A Nouveau illesztőprogram alapvető OpenGL-támogatást biztosít az NVIDIA GeForce RTX 30xx GPU-khoz, amelyek az Ampere mikroarchitektúrán alapulnak, és 2020 májusa óta jelentek meg. Az új chipek támogatásával kapcsolatos változások a Linux kernel 6.2-es és a Mesa 22.3-as verziójában lesznek elérhetők.

Forrás: opennet.ru

Hozzászólás