Il driver open Rusticl è certificato per la compatibilità con OpenCL 3.0

Gli sviluppatori del progetto Mesa hanno annunciato la certificazione da parte dell'organizzazione Khronos del driver rusticl, che ha superato con successo tutti i test del set CTS (Kronos Conformance Test Suite) ed è stato riconosciuto come completamente compatibile con le specifiche OpenCL 3.0, che definiscono l'API e le estensioni del linguaggio C per organizzare calcoli paralleli cross-platform. Ottenere la certificazione consente di dichiarare ufficialmente la compatibilità con gli standard e di utilizzare i marchi commerciali associati di Khronos. Il test è stato eseguito su un sistema con GPU integrate Intel di 12ª generazione, utilizzando il driver Gallium3D Iris.

Il driver è scritto in Rust ed è sviluppato da Karol Herbst della Red Hat, che partecipa allo sviluppo di Mesa, del driver Nouveau e del stack OpenCL open source. Rusticl funge da analogia del front-end OpenCL presente in Mesa, Clover, ed è stato sviluppato anche utilizzando l'interfaccia Gallium fornita da Mesa. Clover è da tempo in stato di abbandono e rusticl viene posizionato come la sua futura sostituzione. Oltre a raggiungere la compatibilità con OpenCL 3.0, il progetto Rusticl si distingue da Clover per il supporto delle estensioni OpenCL per l'elaborazione delle immagini, ma attualmente non supporta il formato FP16. Per generare il binding per Mesa e OpenCL, che consente di chiamare funzioni Rust dal codice C e viceversa, in Rusticl viene utilizzato rust-bindgen.

Il codice per il supporto del linguaggio Rust e il driver rusticl sono stati inclusi nel core di Mesa e saranno proposti nella versione Mesa 22.3, prevista per la fine di novembre. Il supporto per Rust e rusticl sarà disabilitato per impostazione predefinita e richiederà una compilazione con l'esplicita indicazione delle opzioni "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Durante la compilazione, come dipendenze aggiuntive, saranno necessari il compilatore rustc, il generatore di bindgen, LLVM, l'insieme di strumenti SPIRV-Tools e il traduttore SPIRV-LLVM-Translator.

La possibilità di utilizzare il linguaggio Rust nel progetto Mesa è in discussione dal 2020. Tra i vantaggi del supporto per Rust si menzionano l'aumento della sicurezza e della qualità dei driver grazie all'eliminazione di problemi tipici nella gestione della memoria, oltre alla possibilità di includere nel progetto Mesa lavori di terze parti, come Kazan (l'implementazione di Vulkan su Rust). Tra gli svantaggi si segnalano la complessità del sistema di build, la riluttanza a vincolarsi al sistema di pacchetti cargo, l'espansione dei requisiti per l'ambiente di compilazione e la necessità di includere il compilatore Rust tra le dipendenze di build, obbligatorie per la creazione dei componenti chiave del desktop su Linux.

In aggiunta, si può menzionare il lavoro di sviluppo del driver Nouveau, condotto da Carol Herbst. Nel driver Nouveau è stata aggiunta la supporto base per OpenGL per le schede grafiche GNU NVIDIA GeForce RTX 30xx basate sull'architettura Ampere, rilasciate da maggio 2020. Le modifiche relative al supporto dei nuovi chip entreranno a far parte del kernel Linux 6.2 e Mesa 22.3.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster