Mesina OpenCL implementacija napisana u rust-u je već prošla CTS testove

Nova implementacija iz OpenCL-a (rustikalno) razvijen za projekat Mesa, napisan na Rustu, je uspješno položio CTS testove (Kronos Conformance Test Suite) koji koristi Khronos konzorcij za testiranje kompatibilnosti sa OpenCL 3.0 specifikacijama.

Za one koji ne znaju za »Rusticl« neka znaju da je objavljen kao nova implementacija Mesa OpenCL napisana u programski jezik Rust.

rusticl pokrenuo je poznati saradnik Mese Karol Herbst Red Hata koji je počeo kao inženjer na NVIDIA-inom "Nouveau" open source drajveru dok je radio u Red Hatu, a radio je na Mesinoj IT podršci za Clover i drugim poduhvatima. Rusticl je pokušaj Herbsta da nauči programski jezik Rust i također da obezbijedi novu (i nadamo se superiornu) implementaciju OpenCL-a.

Rusticl je mnogo moderniji fokusiran na OpenCL U poređenju sa starim Clover kodom, ali je primetno da Rusticl u ovom trenutku još uvek nema podršku za OpenCL slike, što je bio još jedan problem sa Cloverom.

rusticl oslanja se na clc za prevođenje OpenCL izvornog koda u SPIR-V. Rusticl takođe zavisi od NIR-kompatibilnih drajvera Mesa Gallium3D, ali svi glavni drajveri to već rade. Treba napomenuti da je Carol kontaktirala Khronos kako bi dobila službenu certifikaciju OpenCL 3.0 kompatibilnosti u rusticl-u.

A sada, rusticl je uspješno prošao Kronos Conformance Test Suite za procjenu kompatibilnosti sa OpenCL 3.0 specifikacijama, kao što je Neil Trevett objavio na Twitteru:

Khronos je ponosan što se tokom godina odrekao svih naknada za usvajanje MESA-e, a mnoge implementacije MESA-e su službeno usklađene. Odlično što OpenCL 3.0 iz MESA prolazi CTS! Obavijestite nas kada MESA bude spremna da izvrši Ugovor o usvajanju OCL 3.0 i možemo započeti proces…

Testiranje je obavljeno na sistemu sa Intel GPU-om 12. generacije build (Alder Lake), sa kojim je rađeno sa drajverom Iris Mesa, ali se spominje da bi projekat trebao raditi i sa drugim Mesa drajverima koji koriste intermediateless (IR) reprezentaciju NIR shadera.

Rusticl deluje kao pandan Mesinom OpenCL Clover interfejsu i takođe je razvijen korišćenjem Mesinog Gallium interfejsa. Clover je već duže vrijeme u zapuštenom stanju, a rustikal se pozicionira kao njegova buduća zamjena. Pored postizanja OpenCL 3.0 kompatibilnosti, Rusticl projekat se razlikuje od Clovera po tome što podržava OpenCL ekstenzije za obradu slika, ali još ne podržava FP16 format.

Rusticl koristi rust-bindgen za generiranje povezivanja za Mesa i OpenCL koji omogućavaju pozivanje Rust funkcija iz C koda i obrnuto.

O mogućnosti upotrebe Rust jezika u Mesa projektu se raspravlja od 2020. Među prednostima Rust podrške navode poboljšanje sigurnosti i kvaliteta drajvera eliminacijom tipičnih problema pri radu sa memorijom, kao i mogućnost uključivanja razvoja trećih strana na Mesi, kao što je Kazan (implementacija Vulkana na Rustu).

Među nedostacima je komplikacija sistema izgradnje, nespremnost da se veže za sistem paketa korisnog opterećenja, povećani zahtevi za okruženje za izgradnju i potreba da se Rust kompajler uključi u potrebne zavisnosti izgradnje. za izradu ključnih desktop komponenti na Linuxu.

Na kraju, spominje se da je zahtjev za spajanje Rusticla sa Mesom još uvijek na čekanju i još nije donesena odluka o uključivanju koda jezika Rust u Mesu, ali se očekuje da će stići u izdanju Mesa 22.2

Ovo je razlog zašto prije nego što Rusticl bude prihvaćen u glavnu Mesa kompoziciju, može se koristiti posebna grana za izgradnju, pri kompajliranju morate navesti parametre izgradnje "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =tačno».

Naps zainteresovani da saznaju više o tome O ovoj novoj specifikaciji, možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.