Rusticl je zdaj certificiran in podpira OpenCL 3.0

rja-2

Mesin krmilnik Rusticl je uspešno prestal teste Conformance Test Suite (CTS).

P razvijalci projekta Mesa so napovedali certifikacijo krmilnika rusticl organizacijo Khronos, kie uspešno opravil vse teste CTS (Kronos Conformance Test Suite) in je bil prepoznan kot popolnoma skladen s specifikacijo OpenCL 3.0, ki opredeljuje API-je jezika C in razširitve za orkestriranje vzporednega računalništva med platformami.

S tem je bilo mogoče pridobiti certifikat, ki dovoljuje uradno deklaracijo združljivosti s standardi in uporabo z njimi povezanih blagovnih znamk Khronos.

Gonilnik je napisan v Rustu, razvil pa ga je Karol Herbst iz Red Hata, ki sodeluje pri razvoju Mesa, gonilnika Nouveau in odprtega sklada OpenCL.

Rusticl prestane vse teste CTS

Rusticl je pravkar postal prva koda Rust znotraj Mesa, z implementacijo OpenCL, ki je bila nedavno združena v izdajo Mesa 22.3, pri čemer je treba omeniti, da je bilo testiranje izvedeno na sistemu z integrirano grafično kartico Intel 12. generacije z uporabo gonilnika Gallium3D Iris.

Za tiste, ki ne poznajo krmilnika, bi Rusticl moral vedeti, da je to deluje kot protipostavka vmesniku Mesa OpenCL Clover in je prav tako razvit z uporabo vmesnika Mesa Gallium. Clover je bil dolgo zapostavljen in rustikl je postavljen kot njegova 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 ustvarjanje vezav 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 Prednosti podpore Rust omenjajo izboljšanje varnosti in kakovosti gonilnikov z odpravo tipičnih težav pri delu s pomnilnikom, kot tudi Možnost vključitve razvoja tretjih oseb v Meso, kot je Kazan (izvedba Vulkana v Rustu). Med pomanjkljivostmi je zapletenost sistema gradnje, nepripravljenost na povezavo s sistemom paketa nalaganja, povečanje zahtev za gradbeno okolje in potreba po vključitvi prevajalnika Rust v gradbene odvisnosti, ki so potrebne za gradnjo ključa namizne komponente v sistemu Linux.

Koda za podporo jezika Rust in krmilnik rusticl je bil sprejet v mainstream Mesa in bo na voljo v izdaji Mesa 22.3, ki bo predvidoma konec novembra. Podpora za Rust in Rusticl bo privzeto onemogočena in bo zahtevala prevajanje z eksplicitnimi možnostmi "-D gallium-rusticl=true -Dllvm=omogočeno -Drust_std=2021".

Pri prevajanju so kot dodatne odvisnosti potrebni prevajalnik rustc, bindgen, LLVM, SPIRV-Tools in SPIRV-LLVM-Translator.

Treba je omeniti, da gaAPI OpenCL 3.0 pokriva vse različice OpenCL (1.2, 2.x), ne da bi zagotovil ločene specifikacije za vsako različico. OpenCL 3.0 ponuja možnost razširitve osnovne funkcionalnosti z integracijo dodatnih specifikacij, ki se bodo prekrivale v obliki možnosti, ne da bi blokirale monolitno naravo OpenCL 1.2/2.X.

Poleg tega specifikacija OpenCL 3.0 je bil usklajen z okoljem, razširitvami in specifikacijami generična vmesna predstavitev SPIR-V, tudi to uporablja Vulkan API. Z njim je bila dodana tudi podpora za specifikacijo SPIR-V 1.3 v jedro OpenCL 3.0 kot neobvezna funkcija. Z uporabo vmesne predstavitve SPIR-V za računalniška jedra je dodana podpora za operacije s podskupinami.

Nazadnje velja omeniti tudi delo pri razvoju gonilnika Nouveau, ki ga je opravila tudi Carol Herbst. Gonilnik Nouveau dodaja osnovno podporo OpenGL za GNU NVIDIA GeForce RTX 30xx, ki temelji na mikroarhitekturi Ampere, izdani od maja 2020. Spremembe, povezane s podporo za nove čipe, bodo vključene v jedro Linux 6.2 in Mesa 22.3.

Če vas zanima več o tem, si lahko ogledate podrobnosti V naslednji povezavi.


Pustite svoj komentar

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

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  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.