Rusticle open source ovládač je certifikovaný ako kompatibilný s OpenCL 3.0

Vývojári projektu Mesa oznámili certifikáciu rustikálneho ovládača organizáciou Khronos, ktorý úspešne prešiel všetkými testami zo sady CTS (Kronos Conformance Test Suite) a je uznaný ako plne kompatibilný so špecifikáciou OpenCL 3.0, ktorá definuje API a rozšírenia jazyka C na organizovanie multiplatformových paralelných výpočtov. Získanie certifikátu vám umožňuje oficiálne deklarovať súlad s normami a používať súvisiace ochranné známky Khronos. Test bol vykonaný na systéme s 12-generačnými integrovanými GPU Intel pomocou ovládača Gallium3D Iris.

Ovládač je napísaný v jazyku Rust a vyvíja ho Karol Herbst z Red Hatu, ktorý sa podieľa na vývoji Mesa, ovládača Nouveau a OpenCL open stacku. Rusticle funguje ako analóg Mesa's OpenCL frontend Clover a je tiež vyvinutý pomocou rozhrania Gallium poskytovaného v Mesa. Ďatelina je už dlho opustená a jej budúcou náhradou je rustikál. Okrem dosiahnutia kompatibility s OpenCL 3.0 sa projekt Rusticle od Clover líši podporou rozšírení OpenCL pre spracovanie obrazu, zatiaľ však nepodporuje formát FP16. Na generovanie väzieb pre Mesa a OpenCL, čo vám umožňuje volať funkcie Rust z kódu C a naopak, sa v Rusticle používa rust-bindgen.

Kód podpory jazyka Rust a rustikálny ovládač boli prijaté do hlavného prúdu Mesa a budú ponúkané vo vydaní Mesa 22.3, ktoré sa očakáva koncom novembra. Podpora Rust a Rusticl bude predvolene vypnutá a bude vyžadovať zostavenie s explicitne špecifikovanými možnosťami "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Pri zostavovaní budete potrebovať kompilátor rustc, generátor väzby bindgen, LLVM, SPIRV-Tools a SPIRV-LLVM-Translator ako ďalšie závislosti.

Od roku 2020 sa diskutuje o možnosti použitia jazyka Rust v projekte Mesa. Medzi výhody podpory Rust patrí zvýšená bezpečnosť a kvalita ovládačov vďaka zbaveniu sa typických problémov pri práci s pamäťou, ako aj možnosť zahrnúť do Mesa vývoj tretích strán, ako je Kazan (implementácia Vulkan v Ruste). Medzi nevýhody patrí zvýšená zložitosť systému zostavovania, neochota byť viazaný na systém nákladných balíkov, rozšírené požiadavky na prostredie zostavy a potreba zahrnúť kompilátor Rust do závislostí zostavenia potrebných na zostavenie kľúčových komponentov desktopu na Linuxe.

Okrem toho môžeme zaznamenať prácu na vývoji vodiča Nouveau, ktorú tiež vykonala Carol Herbst. Ovládač Nouveau pridal základnú podporu OpenGL pre GNU NVIDIA GeForce RTX 30xx založenú na mikroarchitektúre Ampere, vydanej od mája 2020. Zmeny súvisiace s podporou nových čipov budú zahrnuté v jadre Linuxu 6.2 a Mesa 22.3.

Zdroj: opennet.ru

Pridať komentár