Rusticl è ora certificato e supporta OpenCL 3.0

Ruggine-2

Il controller Rusticl di Mesa ha superato con successo i test della Conformance Test Suite (CTS).

I gli sviluppatori del progetto Mesa hanno annunciato la certificazione del controllore rusticl dall'organizzazione Khronos, cheAbbiamo superato con successo tutti i test CTS (Kronos Conformance Test Suite) ed è stato riconosciuto come pienamente conforme alla specifica OpenCL 3.0, che definisce le API e le estensioni del linguaggio C per orchestrare il calcolo parallelo multipiattaforma.

Con questo è stato possibile ottenere un certificato che consente di dichiarare ufficialmente la compatibilità con gli standard e di utilizzare i marchi Khronos ad essi associati.

Il driver è scritto in Rust e sviluppato da Karol Herbst di Red Hat, coinvolto nello sviluppo di Mesa, del driver Nouveau e dello stack OpenCL aperto.

Rusticl supera tutti i test CTS

Rusticl è appena diventato il primo codice Rust all'interno di Mesa, con un'implementazione OpenCL recentemente incorporata nella versione Mesa 22.3, e va notato che i test sono stati eseguiti su un sistema con una GPU Intel di 12a generazione integrata utilizzando il driver Gallium3D Iris.

Per coloro che non sono a conoscenza del controller, Rusticl dovrebbe sapere che questo funge da controparte dell'interfaccia OpenCL Clover di Mesa ed è anche sviluppato utilizzando l'interfaccia Gallium di Mesa. Il trifoglio è stato a lungo trascurato e il rusticol è posizionato come suo futuro sostituto. Oltre a raggiungere la compatibilità OpenCL 3.0, il progetto Rusticl differisce da Clover in quanto supporta le estensioni OpenCL per l'elaborazione delle immagini, ma non supporta ancora il formato FP16.

Rusticl utilizza rust-bindgen per generare binding per Mesa e OpenCL che consentono di chiamare le funzioni Rust dal codice C e viceversa. La possibilità di utilizzare il linguaggio Rust nel progetto Mesa è stata discussa dal 2020.

Tra i i vantaggi del supporto Rust menzionano il miglioramento della sicurezza e della qualità dei driver eliminando i problemi tipici quando si lavora con la memoria, così come il Possibilità di includere sviluppi di terze parti in Mesa, come Kazan (un'implementazione di Vulkan in Rust). Tra le carenze, c'è una complicazione del sistema di compilazione, una riluttanza a collegarsi al sistema di caricamento del pacchetto, un aumento dei requisiti per l'ambiente di compilazione e la necessità di includere il compilatore Rust nelle dipendenze di compilazione necessarie per compilare la chiave componenti desktop su Linux.

Il codice per supportare il linguaggio Rust e il controllore rustico è stato accettato nel mainstream Mesa e sarà offerto nella versione Mesa 22.3, prevista per fine novembre. Il supporto per Rust e Rusticl sarà disabilitato per impostazione predefinita e richiederà la compilazione con opzioni esplicite "-D gallium-rusticl=true -Dllvm=abilitato -Drust_std=2021«.

Durante la compilazione, il compilatore rustc, bindgen, LLVM, SPIRV-Tools e SPIRV-LLVM-Translator sono richiesti come dipendenze aggiuntive.

Va detto che luiL'API OpenCL 3.0 copre tutte le versioni OpenCL (1.2, 2.x), senza fornire specifiche separate per ciascuna versione. OpenCL 3.0 offre la possibilità di estendere le funzionalità di base attraverso l'integrazione di specifiche aggiuntive che si sovrapporranno sotto forma di opzioni senza bloccare la natura monolitica di OpenCL 1.2/2.X.

Inoltre, la specifica OpenCL 3.0 è stato allineato con l'ambiente, le estensioni e le specifiche di la generica rappresentazione intermedia SPIR-V, che anche utilizza l'API Vulkan. Con esso, il supporto per la specifica SPIR-V 1.3 è stato aggiunto anche al kernel OpenCL 3.0 come funzionalità opzionale. Utilizzando la rappresentazione intermedia SPIR-V per i kernel computazionali, è stato aggiunto il supporto per operazioni con sottogruppi.

Da segnalare infine anche il lavoro sullo sviluppo del driver Nouveau, svolto sempre da Carol Herbst. Il driver Nouveau aggiunge il supporto OpenGL di base per GNU NVIDIA GeForce RTX 30xx basato sulla microarchitettura Ampere rilasciata da maggio 2020. Le modifiche relative al supporto del nuovo chip saranno incluse nel kernel Linux 6.2 e Mesa 22.3.

Se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.