Mesas OpenCL-implementering skrevet i rust har allerede bestået CTS-tests

Den nye implementering fra OpenCL (rustik) udviklet til Mesa-projektet, skrevet i Rust, har bestået CTS-testene (Kronos Conformance Test Suite) brugt af Khronos-konsortiet til at teste kompatibilitet med OpenCL 3.0-specifikationerne.

For dem, der ikke kender til »Rusticl», skal de vide, at det er udgivet som en ny implementering af Mesa OpenCL skrevet ind programmeringssprog Fred.

rustik blev startet af den kendte Mesa-samarbejdspartner Karol Herbst af Red Hat, der startede som ingeniør på NVIDIAs "Nouveau" open source-driver, mens han var hos Red Hat, og arbejdede på Mesas Clover IT-support og andre bestræbelser. Rusticl er et forsøg fra Herbst på at lære Rust-programmeringssproget og også at levere en ny (og forhåbentlig overlegen) implementering af OpenCL.

Rusticl er meget mere moderne med fokus på OpenCL sammenlignet med den gamle Clover-kode, og det er dog bemærkelsesværdigt, at Rusticl på dette tidspunkt stadig ikke har OpenCL-image support, hvilket har været et andet problem med Clover.

rustik er afhængig af clc til at kompilere OpenCL-kildekode til SPIR-V. Rusticl afhænger også af de NIR-kompatible Mesa Gallium3D-drivere, men det gør alle større drivere allerede. Det skal bemærkes, at Carol kontaktede Khronos for at opnå officiel certificering af OpenCL 3.0-kompatibilitet i rustik.

Og nu har rusticl bestået Kronos Conformance Test Suite for at vurdere kompatibilitet med OpenCL 3.0-specifikationerne, som Neil Trevett annoncerede på Twitter:

Khronos er stolt over at have givet afkald på alle MESA-adoptionsgebyrer gennem årene, og mange MESA-implementeringer er officielt kompatible. Fantastisk at OpenCL 3.0 fra MESA består CTS! Giv os besked, når MESA er klar til at udføre OCL 3.0-vedtagelsesaftalen, og vi kan starte processen...

Test blev udført på et system med 12. generations Intel GPU build (Alder Lake), hvormed arbejdet blev udført med Iris Mesa-driveren, men det nævnes, at projektet skal arbejde sammen med andre Mesa-drivere, der anvender NIR-shadernes untyped intermediate (IR) repræsentation.

Rusticl fungerer som en pendant til Mesas OpenCL Clover-grænseflade og er også udviklet ved hjælp af Mesas Gallium-grænseflade. Clover har været i en tilstand af omsorgssvigt i lang tid, 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 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 fordelene ved Rust-support nævner de forbedring af sikkerheden og kvaliteten af ​​driverne ved at eliminere typiske problemer ved arbejde med hukommelse, samt muligheden for at inkludere udviklinger af tredjeparter på Mesa, såsom Kazan (en Vulkan-implementering på Rust).

Blandt manglerne er der en komplikation af build-systemet, en manglende vilje til at binde sig til nyttelastpakkesystemet, en stigning i kravene til build-miljøet og behovet for at inkludere Rust-kompileren i de build-afhængigheder, der er angivet. at bygge centrale desktop-komponenter på Linux.

Endelig det nævnes, at anmodningen om at fusionere Rusticl med Mesa stadig er under behandling og der er endnu ikke truffet beslutning om at inkludere Rust-sprogkoden i Mesa, men den forventes at ankomme i Mesa 22.2-udgivelsen

Dette er grunden til, at før Rusticl accepteres i Mesa-hovedsammensætningen, kan en separat gren bruges til at bygge, når du kompilerer, skal du angive byggeparametrene "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =sandt».

Hvis du er interesseret i at vide mere om det om denne nye specifikation, kan du tjekke detaljerne I det følgende link.


Efterlad din kommentar

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

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  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.