Le pilote open source Rusticl est certifié conforme à OpenCL 3.0

Les développeurs du projet Mesa ont annoncé la certification du pilote rusticl par l'organisation Khronos, qui a passé avec succès tous les tests de la suite de tests de conformité Kronos (CTS) et est reconnu comme étant entièrement compatible avec la spécification OpenCL 3.0, définissant l'API et les extensions du langage C pour l'organisation de calculs parallèles multiplateformes. L'obtention de ce certificat permet de déclarer officiellement la compatibilité avec les normes et d'utiliser les marques déposées associées à Khronos. La vérification a été réalisée sur un système équipé de GPU Intel de 12e génération, utilisant le pilote Gallium3D Iris.

Le pilote est écrit en Rust et est développé par Karol Herbst de Red Hat, qui participe au développement de Mesa, du pilote Nouveau et de la pile OpenCL ouverte. Rusticl joue le rôle d'analogue de l'interface OpenCL Clover présente dans Mesa et a également été développé en utilisant l'interface Gallium fournie par Mesa. Clover est en déclin depuis longtemps et rusticl est positionné comme son remplaçant futur. En plus d'atteindre la compatibilité avec OpenCL 3.0, le projet Rusticl se distingue de Clover par le support des extensions OpenCL pour le traitement d’images, mais ne prend pas encore en charge le format FP16. Pour générer des liaisons pour Mesa et OpenCL, permettant d'appeler des fonctions Rust depuis le code C et vice versa, rust-bindgen est utilisé dans Rusticl.

Le code pour prendre en charge le langage Rust et le pilote rusticl a été intégré dans la base principale de Mesa et sera proposé dans la version Mesa 22.3, attendue fin novembre. Le support de Rust et de rusticl sera désactivé par défaut et nécessitera une construction avec des options explicites « -D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021 ». Lors de la construction, des dépendances supplémentaires seront nécessaires, notamment le compilateur rustc, le générateur de liaisons bindgen, LLVM, l'outil SPIRV-Tools et le traducteur SPIRV-LLVM-Translator.

La possibilité d'utiliser le langage Rust dans le projet Mesa est discutée depuis 2020. Parmi les avantages de la prise en charge de Rust, on note une amélioration de la sécurité et de la qualité des pilotes grâce à l'élimination des problèmes typiques liés à la gestion de la mémoire, ainsi que la possibilité d'inclure dans Mesa des contributions externes, telles que Kazan (une implémentation de Vulkan en Rust). Parmi les inconvénients, on mentionne la complexité accrue du système de compilation, le refus de s'attacher au système de paquets cargo, l'extension des exigences concernant l'environnement de construction et la nécessité d'inclure le compilateur Rust dans les dépendances de compilation requises pour construire les composants clés du bureau sous Linux.

On peut également noter les travaux de développement du pilote Nouveau, également réalisés par Carol Herbst. Le pilote Nouveau a ajouté un support de base pour OpenGL pour les cartes graphiques NVIDIA GeForce RTX 30xx basées sur l'architecture Ampere, produites depuis mai 2020. Les modifications liées au support de nouveaux chipsets feront partie du noyau Linux 6.2 et de Mesa 22.3.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster