Mesas OpenCL-implementering skrevet i rust har allerede bestått CTS-tester

Den nye implementeringen fra OpenCL (rustikk) utviklet for Mesa-prosjektet, skrevet i Rust, har bestått CTS-testene (Kronos Conformance Test Suite) brukt av Khronos-konsortiet for å teste kompatibilitet med OpenCL 3.0-spesifikasjonene.

For de som ikke er klar over »Rusticl» bør de vite at den er publisert som en ny implementering av Mesa OpenCL skrevet inn programmeringsspråk Fred.

rustikk ble startet av den kjente Mesa-samarbeidspartneren Karol Herbst av Red Hat som startet som ingeniør på NVIDIAs "Nouveau" åpen kildekode-driver mens han var på Red Hat, og jobbet med Mesas Clover IT-støtte og andre bestrebelser. Rusticl er et forsøk fra Herbst på å lære Rust-programmeringsspråket og også gi en ny (og forhåpentligvis overlegen) implementering av OpenCL.

Rusticl er mye mer moderne med fokus på OpenCL sammenlignet med den gamle Clover-koden, og det er merkbart, men det er at Rusticl på dette tidspunktet fortsatt ikke har støtte for OpenCL-bilde, noe som har vært et annet problem med Clover.

rustikk er avhengig av clc for å kompilere OpenCL-kildekoden til SPIR-V. Rusticl avhenger også av de NIR-kompatible Mesa Gallium3D-driverne, men alle større drivere gjør det allerede. Det skal bemerkes at Carol kontaktet Khronos for å få offisiell sertifisering av OpenCL 3.0-kompatibilitet i rustikk.

Og nå har rusticl bestått Kronos Conformance Test Suite for å vurdere kompatibilitet med OpenCL 3.0-spesifikasjonene, som neil trevett annonserte på Twitter:

Khronos er stolt over å ha gitt avkall på alle MESA-adopsjonsgebyrer gjennom årene, og mange MESA-implementeringer er offisielt kompatible. Flott at OpenCL 3.0 fra MESA består CTS! Gi oss beskjed når MESA er klar til å utføre OCL 3.0-adopsjonsavtalen, så kan vi starte prosessen...

Testing ble utført på et system med 12. generasjons Intel GPU build (Alder Lake), som arbeidet ble gjort med Iris Mesa-driveren, men det nevnes at prosjektet skal jobbe med andre Mesa-drivere som bruker den typeløse mellomrepresentasjonen (IR) av NIR shaders.

Rusticl fungerer som et motstykke til Mesas OpenCL Clover-grensesnitt og er også utviklet ved hjelp av Mesas Gallium-grensesnitt. Clover har vært i en tilstand av omsorgssvikt i lang tid og rusticl er posisjonert som dens fremtidige erstatning. I tillegg til å oppnå OpenCL 3.0-kompatibilitet, skiller Rusticl-prosjektet seg fra Clover ved at det støtter OpenCL-utvidelser for bildebehandling, men støtter ennå ikke FP16-formatet.

Rusticl bruker rust-bindgen å generere bindinger for Mesa og OpenCL som lar Rust-funksjoner kalles fra C-kode og omvendt.

Muligheten for å bruke Rust-språket i Mesa-prosjektet har vært diskutert siden 2020. Blant fordelene med Rust-støtte nevner de forbedring av sikkerheten og kvaliteten på driverne ved å eliminere typiske problemer ved arbeid med minne, samt muligheten for å inkludere utviklinger av tredjeparter på Mesa, for eksempel Kazan (en Vulkan-implementering på Rust).

Blant manglene er det en komplikasjon av byggesystemet, en manglende vilje til å binde seg til nyttelastpakkesystemet, en økning i kravene til byggemiljøet, og behovet for å inkludere Rust-kompilatoren i byggeavhengighetene som er gitt. å bygge viktige skrivebordskomponenter på Linux.

Endelig, det nevnes at forespørselen om å slå sammen Rusticl med Mesa fortsatt er under behandling og det er ennå ikke tatt noen beslutning om å inkludere Rust-språkkoden i Mesa, men den forventes å komme i Mesa 22.2-utgivelsen

Dette er grunnen til at før Rusticl blir akseptert i hoved-Mesa-komposisjonen, kan en egen gren brukes til å bygge, når du kompilerer, må du spesifisere byggeparametrene "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =sant».

Lur interessert i å vite mer om det om denne nye spesifikasjonen, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.