Rustikk åpen kildekode-driver er sertifisert kompatibel med OpenCL 3.0

Utviklerne av Mesa-prosjektet kunngjorde sertifiseringen av den rustikke driveren fra Khronos-organisasjonen, som har bestått alle testene fra CTS-settet (Kronos Conformance Test Suite) og er anerkjent som fullt kompatibel med OpenCL 3.0-spesifikasjonen, som definerer APIer og utvidelser av C-språket for å organisere parallell databehandling på tvers av plattformer. Å få et sertifikat lar deg offisielt erklære samsvar med standardene og bruke de tilhørende Khronos-varemerkene. Testen ble utført på et system med 12-generasjons integrerte Intel GPUer ved bruk av Gallium3D Iris-driveren.

Driveren er skrevet i Rust og utviklet av Karol Herbst fra Red Hat, som er involvert i utviklingen av Mesa, Nouveau-driveren og OpenCL open stack. Rusticle fungerer som en analog av Mesas OpenCL frontend Clover og er også utviklet ved hjelp av Gallium-grensesnittet i Mesa. Clover har vært forlatt i lang tid og rusticl er posisjonert som dens fremtidige erstatning. I tillegg til å oppnå OpenCL 3.0-kompatibilitet, skiller Rusticle-prosjektet seg fra Clover ved å støtte OpenCL-utvidelser for bildebehandling, men støtter ennå ikke FP16-formatet. For å generere bindinger for Mesa og OpenCL, slik at du kan kalle Rust-funksjoner fra C-kode og omvendt, brukes rust-bindgen i Rusticle.

Rust-språkstøttekoden og den rustikke driveren har blitt akseptert i Mesa mainstream og vil bli tilbudt i Mesa 22.3-utgivelsen, forventet i slutten av november. Rust og rusticl-støtte vil være deaktivert som standard og vil kreve en build med "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021"-alternativene eksplisitt spesifisert. Når du bygger, trenger du rustc-kompilatoren, bindgen-bindingsgeneratoren, LLVM, SPIRV-Tools og SPIRV-LLVM-Translator som ekstra avhengigheter.

Muligheten for å bruke Rust-språket i Mesa-prosjektet har vært diskutert siden 2020. Blant fordelene med Rust-støtte nevnes den økte sikkerheten og kvaliteten på drivere på grunn av å bli kvitt typiske problemer når du arbeider med minne, samt muligheten til å inkludere tredjepartsutviklinger i Mesa, for eksempel Kazan (en implementering av Vulkan) i Rust). Ulempene inkluderer økt kompleksitet av byggesystemet, motvilje mot å være knyttet til lastepakkesystemet, utvidede krav til byggemiljøet, og behovet for å inkludere Rust-kompilatoren i byggeavhengighetene som kreves for å bygge sentrale skrivebordskomponenter på Linux.

I tillegg kan vi merke oss arbeidet med utviklingen av Nouveau-driveren, også utført av Carol Herbst. Nouveau-driveren har lagt til grunnleggende OpenGL-støtte for GNU NVIDIA GeForce RTX 30xx basert på Ampere-mikroarkitekturen, utgitt siden mai 2020. Endringer knyttet til støtte for nye brikker vil bli inkludert i Linux 6.2-kjernen og Mesa 22.3.

Kilde: opennet.ru

Legg til en kommentar