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

A Mesa projekt fejlesztői bejelentették, hogy a Khronos szervezet tanúsította a rusticl drivert, amely sikeresen átment a CTS (Kronos Conformance Test Suite) összes tesztjén, és teljes mértékben kompatibilis az OpenCL 3.0 specifikációval, amely meghatározza az API-kat és a C nyelv kiterjesztései a többplatformos párhuzamos számítások megszervezéséhez. A tanúsítvány megszerzése lehetővé teszi a szabványoknak való megfelelés hivatalos nyilatkozatát és a kapcsolódó Khronos védjegyek használatát. A tesztet egy 12 generációs integrált Intel GPU-val rendelkező rendszeren végezték el a Gallium3D Iris illesztőprogram segítségével.

A meghajtót Rust nyelven írták, és a Red Hattől Karol Herbst fejlesztette ki, aki részt vesz a Mesa, a Nouveau meghajtó és az OpenCL nyílt verem fejlesztésében. A Rusticle a Mesa OpenCL Clover frontendjének analógjaként működik, és a Mesa által biztosított Gallium interfész segítségével is fejlesztették. A lóherét már régóta elhagyták, és a rusztik a jövőbeni helyettesítője. Az OpenCL 3.0 kompatibilitás elérése mellett a Rusticle projekt 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 Mesa és OpenCL kötések létrehozásához, lehetővé téve a Rust függvények C kódból történő meghívását, és fordítva, a Rusticle-ban a rust-bindgen használatos.

A Rust nyelvtámogatási kódot és a rusticl illesztőprogramot elfogadták a Mesa mainstreamjében, és a Mesa 22.3-as kiadásában fog megjelenni, várhatóan november végén. A Rust és a rusticl támogatása alapértelmezés szerint le van tiltva, és a "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" opciókkal rendelkező buildre lesz szükség. Építéskor szükség lesz a rustc fordítóra, a bindgen kötésgenerátorra, az LLVM-re, a SPIRV-Tools-ra és a SPIRV-LLVM-Translatorra további függőségekként.

2020 óta tárgyalják a Rust nyelv alkalmazásának lehetőségét a Mesa projektben. A Rust támogatás előnyei között említik az illesztőprogramok megnövekedett biztonságát és minőségét a memóriával való munka során előforduló tipikus problémák megszabadulása, valamint a harmadik féltől származó fejlesztések, például a Kazan (a Vulkan megvalósítása) Mesa programba való beépítése miatt. Rozsdában). A hátrányok közé tartozik a felépítési rendszer megnövekedett összetettsége, a rakománycsomag-rendszerhez való kötődéstől való vonakodás, a kibővített összeállítási környezet követelményei, valamint az, hogy a Rust fordítót be kell vonni a legfontosabb asztali komponensek Linuxon való összeállításához szükséges összeállítási függőségekbe.

Emellett megjegyezhetjük a Nouveau driver fejlesztésén végzett munkát is, amelyet szintén Carol Herbst végzett. A Nouveau illesztőprogram az Ampere mikroarchitektúrára épülő, 30 májusa óta kiadott GNU NVIDIA GeForce RTX 2020xx alapszintű OpenGL-támogatásával bővült. Az új chipek támogatásával kapcsolatos változásokat a Linux 6.2 kernel és a Mesa 22.3 tartalmazza.

Forrás: opennet.ru

Hozzászólás