Rusticle open source-drivrutin är certifierad kompatibel med OpenCL 3.0

Utvecklarna av Mesa-projektet tillkännagav certifieringen av Khronos-organisationen av den rustika drivrutinen, som framgångsrikt har klarat alla tester från CTS (Kronos Conformance Test Suite) uppsättningen och är erkänd som fullt kompatibel med OpenCL 3.0-specifikationen, som definierar API:er och utökningar av C-språket för att organisera plattformsoberoende parallell datoranvändning. Genom att erhålla ett certifikat kan du officiellt deklarera överensstämmelse med standarderna och använda tillhörande Khronos-varumärken. Testet utfördes på ett system med 12-generations integrerade Intel GPU:er med drivrutinen Gallium3D Iris.

Drivrutinen är skriven i Rust och utvecklad av Karol Herbst från Red Hat, som är involverad i utvecklingen av Mesa, Nouveau-drivrutinen och OpenCL open stack. Rusticle fungerar som en analog till Mesas OpenCL frontend Clover och är också utvecklad med hjälp av Gallium-gränssnittet i Mesa. Clover har varit övergiven länge och rusticl är positionerad som dess framtida ersättare. Förutom att uppnå OpenCL 3.0-kompatibilitet skiljer sig Rusticle-projektet från Clover genom att stödja OpenCL-tillägg för bildbehandling, men stöder ännu inte FP16-formatet. För att generera bindningar för Mesa och OpenCL, så att du kan anropa Rust-funktioner från C-kod och vice versa, används rust-bindgen i Rusticle.

Språkstödskoden för Rust och den rustika drivrutinen har accepterats i Mesa mainstream och kommer att erbjudas i Mesa 22.3-utgåvan, som väntas i slutet av november. Rust och rusticl-stöd kommer att inaktiveras som standard och kommer att kräva en build med "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021"-alternativen uttryckligen specificerade. När du bygger behöver du rustc-kompilatorn, bindgen-bindningsgeneratorn, LLVM, SPIRV-Tools och SPIRV-LLVM-Translator som ytterligare beroenden.

Möjligheten att använda språket Rust i Mesa-projektet har diskuterats sedan 2020. Bland fördelarna med Rust-stöd nämns den ökade säkerheten och kvaliteten på drivrutiner på grund av att man blir av med typiska problem när man arbetar med minne, samt möjligheten att inkludera tredjepartsutvecklingar i Mesa, såsom Kazan (en implementering av Vulkan) i Rust). Nackdelar inkluderar ökad komplexitet hos byggsystemet, ovilja att vara knuten till lastpaketsystemet, utökade krav på byggmiljön och behovet av att inkludera Rust-kompilatorn i de byggberoenden som krävs för att bygga viktiga skrivbordskomponenter på Linux.

Dessutom kan vi notera arbetet med utvecklingen av Nouveau-drivrutinen, också utfört av Carol Herbst. Nouveau-drivrutinen har lagt till grundläggande OpenGL-stöd för GNU NVIDIA GeForce RTX 30xx baserat på Ampere-mikroarkitekturen, släppt sedan maj 2020. Ändringar relaterade till stöd för nya chips kommer att inkluderas i Linux 6.2-kärnan och Mesa 22.3.

Källa: opennet.ru

Lägg en kommentar