Rusticl er nu certificeret og understøtter OpenCL 3.0

rust-2

Mesas Rusticl controller har bestået Conformance Test Suite (CTS) testene

masse udviklere af Mesa-projektet annoncerede certificeringen af ​​den rustikke controller af Khronos-organisationen, some har bestået alle CTS-tests (Kronos Conformance Test Suite) og blev anerkendt som fuldt ud kompatibel med OpenCL 3.0-specifikationen, som definerer C-sprog-API'erne og udvidelser til at orkestrere parallel computing på tværs af platforme.

Hermed har det været muligt at opnå et certifikat, der gør det muligt officielt at erklære kompatibilitet med standarderne og bruge Khronos varemærker forbundet med dem.

Driveren er skrevet i Rust og udviklet af Red Hats Karol Herbst, som er involveret i udviklingen af ​​Mesa, Nouveau-driveren og den åbne OpenCL-stack.

Rusticl består alle CTS-tests

Rusticl er netop blevet den første Rust-kode i Mesa, med en OpenCL-implementering for nylig fusioneret ind i Mesa 22.3-udgivelsen, og det skal bemærkes, at test blev udført på et system med en integreret 12. generation af Intel GPU ved hjælp af Gallium3D Iris-driveren.

For dem, der ikke er klar over controlleren, bør Rusticl vide, at dette fungerer som en pendant til Mesas OpenCL Clover-grænseflade og er også udviklet ved hjælp af Mesas Gallium-grænseflade. Clover har længe været forsømt, og rusticl er placeret som dens fremtidige erstatning. Udover at opnå OpenCL 3.0-kompatibilitet, adskiller Rusticl-projektet sig fra Clover ved, at det understøtter OpenCL-udvidelser til billedbehandling, men endnu ikke understøtter FP16-formatet.

Rusticl bruger rust-bindgen til at generere bindinger til Mesa og OpenCL, der tillader Rust-funktioner at blive kaldt fra C-kode og omvendt. Muligheden for at bruge Rust-sproget i Mesa-projektet har været diskuteret siden 2020.

Blandt de fordelene ved ruststøtte nævner forbedring af sikkerheden og kvaliteten af ​​chauffører ved at eliminere typiske problemer, når man arbejder med hukommelse, samt den Mulighed for at inkludere tredjepartsudviklinger i Mesa, såsom Kazan (en implementering af Vulkan in Rust). Blandt manglerne er der en komplikation af byggesystemet, en manglende vilje til at linke til lastpakkesystemet, øgede krav til byggemiljøet og behovet for at inkludere Rust-kompileren i de build-afhængigheder, der kræves for at bygge nøglen. desktop-komponenter på Linux.

Koden til at understøtte Rust-sproget og den rustikke controller er blevet accepteret i mainstream Mesa og vil blive tilbudt i Mesa 22.3-udgivelsen, som forventes i slutningen af ​​november. Rust og Rusticl-understøttelse vil være deaktiveret som standard og vil kræve kompilering med eksplicitte muligheder "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021".

Ved kompilering kræves rustc-kompileren, bindgen, LLVM, SPIRV-Tools og SPIRV-LLVM-Translator som yderligere afhængigheder.

Det skal nævnes, at hanOpenCL 3.0 API dækker alle OpenCL-versioner (1.2, 2.x), uden at give separate specifikationer for hver version. OpenCL 3.0 giver mulighed for at udvide kernefunktionalitet gennem integration af yderligere specifikationer, der vil overlappe i form af muligheder uden at blokere den monolitiske karakter af OpenCL 1.2/2.X.

Hertil kommer specifikationen OpenCL 3.0 er blevet tilpasset miljøet, udvidelser og specifikationer af den generiske mellemrepræsentation SPIR-V, det også bruger Vulkan API. Med den er understøttelse af SPIR-V 1.3-specifikationen også blevet tilføjet til OpenCL 3.0-kernen som en valgfri funktion. Ved at bruge SPIR-V-mellemrepræsentationen til beregningsmæssige kerner er understøttelse af operationer med undergrupper blevet tilføjet.

Endelig er det også værd at bemærke arbejdet med udviklingen af ​​Nouveau-driveren, også udført af Carol Herbst. Nouveau-driver tilføjer grundlæggende OpenGL-understøttelse til GNU NVIDIA GeForce RTX 30xx baseret på Ampere-mikroarkitektur udgivet siden maj 2020. Ændringer relateret til ny chipunderstøttelse vil blive inkluderet i Linux 6.2 og Mesa 22.3-kernen.

Hvis du er interesseret i at vide mere om det, kan du konsultere detaljerne I det følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.