Rusticl ja està certificat i és compatible amb OpenCL 3.0

Rust-2

El controlador Rusticl de Mesa ha aconseguit superar amb èxit les proves Conformance Test Suite (CTS)

Els desenvolupadors del projecte Mesa van anunciar la certificació del controlador rusticl per part de l'organització Khronos, qui va superar amb èxit totes les proves del CTS (Kronos Conformance Test Suite) i va ser reconegut com a totalment compatible amb l'especificació OpenCL 3.0, que defineix l'API i extensions del llenguatge C per organitzar la computació paral·lela multiplataforma.

Amb això s'ha aconseguit obtenir un certificat que permet declarar oficialment la compatibilitat amb els estàndards i utilitzar les marques comercials de Khronos associades a ells.

El controlador està escrit a Rust i desenvolupat per Karol Herbst de Red Hat, que participa en el desenvolupament de Mesa, el controlador Nouveau i la pila oberta d'OpenCL.

Rusticl supera totes les proves CTS

Rusticl s'acaba de convertir en el primer codi Rust dins de Mesa, amb implementació d'OpenCL que es va fusionar recentment a la versió de Mesa 22.3 i cal esmentar que la prova es va realitzar en un sistema amb una GPU Intel integrada de 12a generació utilitzant el controlador Gallium3D Iris.

Per als que desconeixen del controlador, Rusticl han de saber que aquest actua com una contrapart de la interfície OpenCL Clover de Mesa i també es desenvolupa utilitzant la interfície Gallium de Taula. Clover fa molt de temps que està en estat d'abandonament 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 les 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 Rust). 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.

El codi per admetre el llenguatge Rust i el controlador rusticl han estat acceptats al corrent principal de Taula i s'oferiran al llançament de Mesa 22.3, que s'espera per a finals de novembre. La compatibilitat amb Rust i Rusticl estarà deshabilitada per defecte i requerirà compilació amb opcions explícites «-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021".

En compilar, es requereixen el compilador rustc, bindgen, LLVM, SPIRV-Tools i SPIRV-LLVM-Translator com a dependències addicionals.

Cal esmentar que la API OpenCL 3.0 cobreix totes les versions OpenCL (1.2, 2.x), sense proporcionar especificacions separades per a cada versió. OpenCL 3.0 ofereix la capacitat d'ampliar la funcionalitat central a través de la integració d'especificacions addicionals que se superposaran en forma d'opcions sense bloquejar la naturalesa monolítica d'OpenCL 1.2/2.X.

A més, l'especificació OpenCL 3.0 s'ha alineat amb l'entorn, les extensions i les especificacions de la representació intermèdia genèrica SPIR-V, Que també utilitza l'API de Vulkan. Amb això també s'ha afegit compatibilitat amb l'especificació SPIR-V 1.3 al nucli OpenCL 3.0 com a característica opcional. Mitjançant l'ús de la representació intermèdia SPIR-V per a nuclis computacionals, s'ha afegit suport per a operacions amb subgrups.

Finalment, també val la pena destacar la feina en el desenvolupament del controlador Nouveau, també realitzat per Carol Herbst. El controlador Nouveau afegeix compatibilitat bàsica amb OpenGL per a GNU NVIDIA GeForce RTX 30xx basada en la microarquitectura Ampere llançada des de maig de 2020. Els canvis relacionats amb la compatibilitat amb nous xips s'inclouran al kernel de Linux 6.2 i Taula 22.3.

Si estàs interessat a poder conèixer-ne més, pots 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: Miguel Ángel Gatón
  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ó.