La implementació OpenCL de Taula escrita en rust ja supero les proves CTS

La nova implementació d'OpenCL (rusticl) desenvolupada per al projecte Mesa, escrita a Rust, ha superat amb èxit les proves CTS (Kronos Conformance Test Suite) utilitzades pel consorci Khronos per avaluar la compatibilitat amb les especificacions de OpenCL 3.0.

Per als que desconeixen de «Rusticl» han de saber que aquest s'ha publicat com una nova implementació de Taula OpenCL escrita a el llenguatge de programació Rovell.

Rusticl va ser iniciat pel conegut col·laborador de Taula Karol Herbst de Red Hat qui va començar com a enginyer del controlador de codi obert «Nouveau» de NVIDIA mentre era a Red Hat, i va treballar en el suport informàtic Clover de Mesa i altres esforços. Rusticl és un intent d'Herbst d'aprendre el llenguatge de programació Rust i de proporcionar una nova (i amb sort superior) implementació d'OpenCL.

Rusticl és molt més modern enfocat a OpenCL en comparació amb l'antic codi Clover i és notable, però, és que Rusticl en aquest moment encara no té suport d'imatge OpenCL que ha estat un altre problema amb Clover.

Rusticl confia en clc per compilar el codi font d'OpenCL a SPIR-V. Rusticl també depèn dels controladors Taula Gallium3D compatibles amb NIR, però tots els controladors principals ja ho fan. Cal assenyalar que Carol es va posar en contacte amb Khronos per obtenir la certificació oficial de compatibilitat amb OpenCL 3.0 a rusticl.

I ara, rusticl ha passat amb èxit les proves Kronos Conformance Test Suite per avaluar la compatibilitat amb les especificacions d'OpenCL 3.0, així ho anunci a Twitter neil trevett:

Khronos s'enorgulleix d'haver renunciat a totes les tarifes d'adopció de MESA al llarg dels anys i moltes implementacions de MESA són oficialment conformes. Genial que OpenCL 3.0 de TAULA estigui passant CTS! Informeu-nos quan MESA estigui llest per executar l'Acord d'adopció d'OCL 3.0 i puguem iniciar el procés…

Les proves es van realitzar en un sistema amb GPU Intel de 12a generació (Alder Lake), amb el qual el treball es va realitzar amb el controlador Iris Mesa, però s'esmenta que el projecte hauria de funcionar amb altres controladors Mesa que usin la representació intermèdia (IR) sense tipus dels ombrejadors NIR.

Rusticl actua com una contrapart de la interfície OpenCL Clover de Mesa i també es desenvolupa utilitzant la interfície Gallium de Mesa. Clover porta molt de temps en estat d'abandó i rusticl es posiciona com el seu futur reemplaçament. A més d'aconseguir la compatibilitat amb OpenCL 3.0, el projecte Rusticl es diferencia de Clover en què admet extensions OpenCL per al processament d'imatges, però encara no admet el format FP16.

Rusticl utilitza rust-bindgen per generar enllaços per a Mesa i OpenCL que permeten trucar a les funcions de Rust des del codi C i viceversa.

La possibilitat d'usar el llenguatge Rust al projecte Mesa es discuteix des del 2020. Entre els avantatges del suport de Rust esmenten millorar la seguretat i qualitat dels drivers en eliminar problemes típics quan es treballa amb memòria, així com la possibilitat d'incloure desenvolupaments de tercers a Mesa, com Kazan (una implementació de Vulkan a Óxido).

Entre les deficiències, hi ha una complicació del sistema de compilació, la manca de voluntat per vincular-se al sistema de paquets de càrrega, un augment en els requisits per a l'entorn de compilació i la necessitat d'incloure el compilador Rust a les dependències de compilació que es requereixen per construir components descriptori clau a Linux.

Finalment, s'esmenta que la sol·licitud per fusionar Rusticl amb Mesa encara està pendent i encara no s'ha pres una decisió sobre la inclusió del codi d'idioma Rust a Mesa, però s'espera que arribi a la versió de Mesa 22.2

És per això que abans que Rusticl sigui acceptat a la composició principal de Taula, es pot fer servir una branca separada per construir, en compilar, ha d'especificar els paràmetres de compilació «-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =true».

si estàs interessat a poder conèixer més sobre això sobre aquesta nova especificació, podeu consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.