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

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

Il driver è scritto in Rust ed è sviluppato da Karol Herbst di Red Hat, che partecipa allo sviluppo di Mesa, del driver Nouveau e dello stack OpenCL open source. Rusticl funge da equivalente del front-end OpenCL Clover presente in Mesa ed è stato anche sviluppato utilizzando l'interfaccia Gallium fornita da Mesa. Clover è da tempo in stato di abbandono e rusticl è posizionato come 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, pur non supportando ancora il formato FP16. Per generare binding per Mesa e OpenCL, che consentono di chiamare funzioni Rust dal codice C e viceversa, rust-bindgen è utilizzato in Rusticl.

Il supporto per il linguaggio Rust e il driver rusticl è stato integrato nel core di Mesa e sarà disponibile nella versione Mesa 22.3, prevista per la fine di novembre. Il supporto per Rust e rusticl sarà disabilitato di default e richiederà una compilazione con le opzioni esplicite «-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021». Durante la compilazione saranno necessarie come dipendenze aggiuntive il compilatore rustc, il generatore di binding bindgen, LLVM, il toolkit SPIRV-Tools e il traduttore SPIRV-LLVM-Translator.

La possibilità di utilizzare il linguaggio Rust nel progetto Mesa è stata discussa dal 2020. Tra i vantaggi del supporto a Rust figurano un aumento della sicurezza e della qualità dei driver, grazie all'eliminazione dei problemi di gestione della memoria, e la possibilità di includere nel progetto Mesa implementazioni di terze parti, come Kazan (una realizzazione di Vulkan in Rust). Tra i contro si evidenzia la complessità del sistema di build, la riluttanza a legarsi al sistema di pacchetti cargo, l'estensione dei requisiti per l'ambiente di build e la necessità di includere il compilatore Rust come dipendenza di build imprescindibile per la creazione dei componenti chiave del desktop su Linux.

In aggiunta, si può notare il lavoro sullo sviluppo del driver Nouveau, anch'esso condotto da Karol Herbst. Il driver Nouveau ha acquisito un supporto di base per OpenGL per le NVIDIA GeForce RTX 30xx GNU basate sull'architettura microarchitettonica Ampere, rilasciate da maggio 2020. Le modifiche relative al supporto dei nuovi chip entreranno a far parte del kernel Linux 6.2 e di Mesa 22.3.

Fonte: opennet.ru

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