Mesas OpenCL-implementation skriven i rost har redan klarat CTS-tester

Det nya genomförandet från OpenCL (rustikt) utvecklat för Mesa-projektet, skrivet i Rust, har klarat CTS-testerna (Kronos Conformance Test Suite) som används av Khronos-konsortiet för att testa kompatibilitet med OpenCL 3.0-specifikationerna.

För den som inte känner till »Rusticl» bör de veta att den har publicerats som en ny implementering av Mesa OpenCL inskriven programmeringsspråk Rost.

rustikt startades av den välkände Mesa-samarbetspartnern Karol Herbst av Red Hat som började som ingenjör på NVIDIAs "Nouveau" drivrutin för öppen källkod medan han var på Red Hat, och arbetade med Mesas Clover IT-support och andra ansträngningar. Rusticl är ett försök av Herbst att lära sig programmeringsspråket Rust och även tillhandahålla en ny (och förhoppningsvis överlägsen) implementering av OpenCL.

Rusticl är mycket modernare med fokus på OpenCL jämfört med den gamla Clover-koden och det märks dock, det är att Rusticl vid det här laget fortfarande inte har stöd för OpenCL-bild vilket har varit ett annat problem med Clover.

rustikt förlitar sig på clc för att kompilera OpenCL-källkod till SPIR-V. Rusticl är också beroende av de NIR-kompatibla Mesa Gallium3D-drivrutinerna, men alla större drivrutiner gör det redan. Det bör noteras att Carol kontaktade Khronos för att få officiell certifiering av OpenCL 3.0-kompatibilitet i rustikl.

Och nu har rusticl framgångsrikt klarat Kronos Conformance Test Suite för att bedöma kompatibilitet med OpenCL 3.0-specifikationerna, som Neil Trevett meddelade på Twitter:

Khronos är stolt över att ha avstått från alla MESA-adoptionsavgifter under åren, och många MESA-implementeringar är officiellt kompatibla. Bra att OpenCL 3.0 från MESA klarar CTS! Låt oss veta när MESA är redo att verkställa OCL 3.0 Adoption Agreement så kan vi starta processen...

Testning gjordes på ett system med 12:e generationens Intel GPU build (Alder Lake), med vilken arbetet utfördes med Iris Mesa-drivrutinen, men det nämns att projektet ska fungera med andra Mesa-drivrutiner som använder NIR-skuggarnas otypade mellanrepresentation (IR).

Rusticl fungerar som en motsvarighet till Mesas OpenCL Clover-gränssnitt och är även utvecklad med hjälp av Mesas Gallium-gränssnitt. Clover har varit i ett tillstånd av vanvård under lång tid och rusticl är positionerat som dess framtida ersättare. Förutom att uppnå OpenCL 3.0-kompatibilitet skiljer sig Rusticl-projektet från Clover genom att det stöder OpenCL-tillägg för bildbehandling, men stöder ännu inte FP16-formatet.

Rusticl använder rust-bindgen för att generera bindningar för Mesa och OpenCL som gör att Rust-funktioner kan anropas från C-kod och vice versa.

Möjligheten att använda Rust-språket i Mesa-projektet har diskuterats sedan 2020. Bland fördelarna med Rust-stöd nämns att förbättra säkerheten och kvaliteten på drivrutinerna genom att eliminera typiska problem när man arbetar med minne, samt möjligheten att inkludera utvecklingar av tredje parter på Mesa, såsom Kazan (en Vulkan-implementering på Rust).

Bland bristerna finns en komplikation av byggsystemet, en ovilja att binda sig till nyttolastpaketsystemet, en ökning av kraven på byggmiljön och behovet av att inkludera Rust-kompilatorn i de byggberoenden som tillhandahålls. att bygga viktiga skrivbordskomponenter på Linux.

Slutligen, det nämns att begäran om att slå samman Rusticl med Mesa fortfarande är under behandling och inget beslut har ännu tagits om att inkludera Rust-språkkoden i Mesa, men den förväntas komma i Mesa 22.2-utgåvan

Det är därför innan Rusticl accepteras i Mesa-huvudkompositionen kan en separat gren användas för att bygga, när du kompilerar måste du specificera byggparametrarna "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =sant».

Om du är det intresserad av att veta mer om det om den här nya specifikationen kan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.