Rusticls åbne driver er certificeret OpenCL 3.0-kompatibel

Udviklerne af Mesa-projektet annoncerede certificeringen fra Khronos-organisationen af ​​den rustikke driver, som med succes har bestået alle test fra CTS-sættet (Kronos Conformance Test Suite) og er anerkendt som fuldt ud kompatibel med OpenCL 3.0-specifikationen, som definerer API'er og udvidelser af C-sproget til at organisere parallel computing på tværs af platforme. At opnå et certifikat giver dig mulighed for officielt at erklære overholdelse af standarderne og bruge de tilhørende Khronos-varemærker. Testen blev udført på et system med 12-generations integrerede Intel GPU'er ved hjælp af Gallium3D Iris-driveren.

Driveren er skrevet i Rust og udviklet af Karol Herbst fra Red Hat, som er involveret i udviklingen af ​​Mesa, Nouveau-driveren og OpenCL open stack. Rusticle fungerer som en analog af Mesas OpenCL frontend Clover og er også udviklet ved hjælp af Gallium-grænsefladen, der findes i Mesa. Clover har været forladt i lang tid, og rusticl er placeret som dens fremtidige erstatning. Ud over at opnå OpenCL 3.0-kompatibilitet adskiller Rusticle-projektet sig fra Clover ved at understøtte OpenCL-udvidelser til billedbehandling, men det understøtter endnu ikke FP16-formatet. For at generere bindinger til Mesa og OpenCL, så du kan kalde Rust-funktioner fra C-kode og omvendt, bruges rust-bindgen i Rusticle.

Rust-sprogstøttekoden og den rustikke driver er blevet accepteret i Mesa mainstream og vil blive tilbudt i Mesa 22.3-udgivelsen, der forventes i slutningen af ​​november. Rust og rusticl-understøttelse vil være deaktiveret som standard og vil kræve en build med "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021"-indstillingerne eksplicit specificeret. Når du bygger, skal du bruge rustc-kompileren, bindgen-bindingsgeneratoren, LLVM, SPIRV-Tools og SPIRV-LLVM-Translator som yderligere afhængigheder.

Muligheden for at bruge Rust-sproget i Mesa-projektet har været diskuteret siden 2020. Blandt fordelene ved Rust-understøttelse nævnes den øgede sikkerhed og kvalitet af drivere på grund af at slippe af med typiske problemer, når du arbejder med hukommelse, samt muligheden for at inkludere tredjepartsudviklinger i Mesa, såsom Kazan (en implementering af Vulkan) i Rust). Ulemper omfatter øget kompleksitet af byggesystemet, modvilje mod at være bundet til fragtpakkesystemet, udvidede krav til byggemiljøet og behovet for at inkludere Rust-kompileren i de build-afhængigheder, der kræves for at bygge centrale desktop-komponenter på Linux.

Derudover kan vi bemærke arbejdet med udviklingen af ​​Nouveau-driveren, også udført af Carol Herbst. Nouveau-driveren har tilføjet grundlæggende OpenGL-understøttelse til GNU NVIDIA GeForce RTX 30xx baseret på Ampere-mikroarkitekturen, udgivet siden maj 2020. Ændringer relateret til understøttelse af nye chips vil blive inkluderet i Linux 6.2-kernen og Mesa 22.3.

Kilde: opennet.ru

Tilføj en kommentar