Driverul open-source Rusticl a fost certificat pentru compatibilitate cu OpenCL 3.0

Dezvoltatorii proiectului Mesa au anunțat certificarea driverului rusticl de către organizația Khronos, care a trecut cu succes toate testele din setul CTS (Kronos Conformance Test Suite) și a fost recunoscut ca fiind complet compatibil cu specificația OpenCL 3.0, ce definește API-ul și extensiile limbajului C pentru organizarea calculului paralel multiplataformă. Obținerea certificatului oferă posibilitatea de a declara oficial compatibilitatea cu standardele și de a utiliza mărcile comerciale asociate cu Khronos. Verificarea a fost efectuată pe un sistem cu GPU-uri integrate Intel de generația a 12-a, folosind driverul Gallium3D Iris.

Driverul este scris în limbajul Rust și este dezvoltat de Karol Herbst de la compania Red Hat, care participă la dezvoltarea Mesa, driverului Nouveau și a stivei deschise OpenCL. Rusticl servește ca un echivalent al front-end-ului OpenCL Clover existent în Mesa și este de asemenea dezvoltat folosind interfața Gallium furnizată în Mesa. Clover se află într-o stare de abandon de mult timp, iar rusticl este poziționat ca înlocuitorul său viitor. Pe lângă realizarea compatibilității cu OpenCL 3.0, proiectul Rusticl se distinge de Clover prin suportul extensiilor OpenCL pentru procesarea imaginilor, dar în prezent nu suportă formatul FP16. Pentru generarea binding-urilor pentru Mesa și OpenCL, care permit apelarea funcțiilor Rust din cod C și viceversa, rust-bindgen este folosit în Rusticl.

Codul pentru suportul limbajului Rust și driverul rusticl au fost acceptate în compunerea de bază a Mesa și vor fi propuse în versiunea Mesa 22.3, așteptată la sfârșitul lunii noiembrie. Suportul pentru Rust și rusticl va fi dezactivat în mod implicit și va necesita compilare cu specificarea explicită a opțiunilor „-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021”. La compilare, ca dependențe suplimentare, vor fi necesare compilatorul rustc, generatorul de binding-uri bindgen, LLVM, instrumentele SPIRV-Tools și traducătorul SPIRV-LLVM-Translator.

Discuția privind utilizarea limbajului Rust în proiectul Mesa a început în 2020. Printre avantajele suportului pentru Rust se numără creșterea securității și calității driverelor prin eliminarea problemelor tipice legate de gestionarea memoriei, precum și posibilitatea de a integra în Mesa contribuții externe, cum ar fi Kazan (implementarea Vulkan în Rust). Printre dezavantaje se numără complexitatea sporită a sistemului de construire, reticența de a se lega de sistemul de pachete cargo, extinderea cerințelor pentru medii de construcție și necesitatea includerii compilatorului Rust în dependențele necesare pentru construirea componentelor cheie ale desktop-ului în Linux.

De asemenea, merită menționat că s-au făcut progrese în dezvoltarea driverului Nouveau, realizate de Carol Herbst. În driverul Nouveau a fost adăugat suport de bază pentru OpenGL pentru GNU NVIDIA GeForce RTX 30xx, bazat pe microarhitectura Ampere, lansate din mai 2020. Modificările legate de suportul pentru noile cipuri vor fi incluse în nucleul Linux 6.2 și Mesa 22.3.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster