Mesina implementacija OpenCL, napisana v rustju, je že prestala CTS teste

Nova izvedba iz OpenCL (rustikalno), razvit za projekt Mesa, napisan v Rustu, je uspešno opravil CTS teste (Kronos Conformance Test Suite), ki ga uporablja konzorcij Khronos za testiranje združljivosti s specifikacijami OpenCL 3.0.

Tisti, ki ne poznajo »Rusticla«, bi morali vedeti, da je bil objavljen kot nova implementacija Mesa OpenCL, napisana v programski jezik Rja.

rustikalno je začel znani sodelavec Mese Karol Herbst Red Hata, ki je začel kot inženir na odprtokodnem gonilniku NVIDIA "Nouveau", medtem ko je bil pri Red Hatu, in delal na podpori za informacijsko tehnologijo Mesa Clover in drugih prizadevanjih. Rusticl je poskus Herbsta, da se nauči programskega jezika Rust in tudi zagotovi novo (in upajmo, vrhunsko) implementacijo OpenCL.

Rusticl je veliko bolj sodoben, osredotočen na OpenCL v primerjavi s staro kodo Clover in je opazno, da Rusticl na tej točki še vedno nima podpore za slike OpenCL, kar je bila še ena težava s Cloverjem.

rustikalno se zanaša na clc za prevajanje izvorne kode OpenCL v SPIR-V. Rusticl je odvisen tudi od gonilnikov Mesa Gallium3D, ki so združljivi z NIR, vendar vsi glavni gonilniki to že počnejo. Treba je opozoriti, da je Carol stopila v stik s Khronosom, da bi pridobila uradni certifikat združljivosti OpenCL 3.0 v rusticlu.

In zdaj je rusticl uspešno opravil Kronos Conformance Test Suite za oceno združljivosti s specifikacijami OpenCL 3.0, kot je Neil Trevett objavil na Twitterju:

Khronos je ponosen, da se je v preteklih letih odpovedal vsem pristojbinam za posvojitev MESA in številne implementacije MESA so uradno skladne. Super, da OpenCL 3.0 iz MESA prehaja CTS! Sporočite nam, ko je MESA pripravljena za izvedbo sporazuma o sprejetju OCL 3.0 in lahko začnemo postopek…

Testiranje je bilo opravljeno na sistemu z Intel GPU 12. generacije build (Alder Lake), s katerim je bilo delo opravljeno z gonilnikom Iris Mesa, vendar je omenjeno, da bi projekt moral delovati z drugimi gonilniki Mesa, ki uporabljajo netipizirano vmesno (IR) predstavitev senčil NIR.

Rusticl deluje kot nasprotnik Mesinemu vmesniku OpenCL Clover in je razvit tudi z uporabo Mesinega vmesnika Gallium. Deteljica je že dolgo v zanemarjenem stanju in rustika je postavljena kot njena prihodnja zamenjava. Poleg doseganja združljivosti z OpenCL 3.0 se projekt Rusticl od Cloverja razlikuje po tem, da podpira razširitve OpenCL za obdelavo slik, vendar še ne podpira formata FP16.

Rusticl uporablja rust-bindgen za generiranje povezav za Mesa in OpenCL, ki omogočajo klic funkcij Rust iz kode C in obratno.

O možnosti uporabe jezika Rust v projektu Mesa se razpravlja že od leta 2020. Med prednostmi podpore Rust omenjajo izboljšanje varnosti in kakovosti gonilnikov z odpravo tipičnih težav pri delu s pomnilnikom, pa tudi možnost vključitve razvoja tretjih oseb na Mesi, kot je Kazan (izvedba Vulkana na Rustu).

Med pomanjkljivostmi je zaplet sistema gradnje, nepripravljenost za vezavo na sistem paketov koristnega tovora, povečane zahteve za okolje gradnje in potreba po vključitvi prevajalnika Rust v zahtevane odvisnosti gradnje. za izdelavo ključnih komponent namizja v Linuxu.

Končno, je omenjeno, da je zahteva za združitev Rusticla z Meso še vedno v teku in še ni bila sprejeta nobena odločitev o vključitvi kode jezika Rust v Meso, vendar se pričakuje, da bo prispela v izdaji Mesa 22.2

Zato je pred sprejemom Rusticla v glavno sestavo Mesa mogoče uporabiti ločeno vejo za gradnjo, pri prevajanju morate določiti parametre gradnje "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =res».

Če ste zanima več o tem o tej novi specifikaciji lahko preverite podrobnosti V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.