Driverul deschis al Rusticl este certificat compatibil OpenCL 3.0

Dezvoltatorii proiectului Mesa au anunțat certificarea de către organizația Khronos a driverului rusticl, care a trecut cu succes toate testele din setul CTS (Kronos Conformance Test Suite) și este recunoscut ca fiind pe deplin compatibil cu specificația OpenCL 3.0, care definește API-urile și extensii ale limbajului C pentru organizarea calculului paralel multiplatform. Obținerea unui certificat vă permite să declarați oficial conformitatea cu standardele și să utilizați mărcile înregistrate Khronos asociate. Testul a fost efectuat pe un sistem cu GPU Intel integrate de 12 generații folosind driverul Gallium3D Iris.

Driverul este scris în Rust și dezvoltat de Karol Herbst de la Red Hat, care este implicat în dezvoltarea Mesa, driverul Nouveau și stiva deschisă OpenCL. Rusticle acționează ca un analog cu interfața OpenCL Clover de la Mesa și este, de asemenea, dezvoltat folosind interfața Gallium furnizată în Mesa. Trifoiul a fost abandonat de multă vreme și rusticl este poziționat ca viitorul său înlocuitor. Pe lângă compatibilitatea OpenCL 3.0, proiectul Rusticle diferă de Clover prin faptul că acceptă extensiile OpenCL pentru procesarea imaginilor, dar nu acceptă încă formatul FP16. Pentru a genera legături pentru Mesa și OpenCL, permițându-vă să apelați funcții Rust din codul C și invers, rust-bindgen este folosit în Rusticle.

Codul de suport pentru limba Rust și driverul rusticl au fost acceptate în mainstreamul Mesa și vor fi oferite în versiunea Mesa 22.3, așteptată la sfârșitul lunii noiembrie. Suportul Rust și rusticl va fi dezactivat implicit și va necesita o versiune cu opțiunile „-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021” specificate în mod explicit. Când construiți, veți avea nevoie de compilatorul rustc, generatorul de legături Bindgen, LLVM, SPIRV-Tools și SPIRV-LLVM-Translator ca dependențe suplimentare.

Posibilitatea utilizării limbajului Rust în proiectul Mesa a fost discutată din 2020. Printre avantajele suportului Rust, se menționează securitatea și calitatea sporită a driverelor datorită eliminării problemelor tipice atunci când lucrați cu memorie, precum și capacității de a include dezvoltări terță parte în Mesa, cum ar fi Kazan (o implementare a Vulkan). în Rust). Dezavantajele includ complexitatea crescută a sistemului de compilare, reticența de a fi legat de sistemul de pachete de marfă, cerințe extinse pentru mediul de construcție și necesitatea de a include compilatorul Rust în dependențele de construcție necesare pentru a construi componente cheie desktop pe Linux.

În plus, putem remarca și munca la dezvoltarea șoferului Nouveau, realizată tot de Carol Herbst. Driverul Nouveau a adăugat suport de bază OpenGL pentru GNU NVIDIA GeForce RTX 30xx bazat pe microarhitectura Ampere, lansată din mai 2020. Modificările legate de suportul pentru noi cipuri vor fi incluse în nucleul Linux 6.2 și Mesa 22.3.

Sursa: opennet.ru

Adauga un comentariu