Notebookcheck Logo

Les chercheurs permettent la prise en charge des applications Nvidia CUDA sur les GPGPU RISC-V

C'est la première fois que du code optimisé par CUDA est exécuté sur du matériel non NVIDIA.
C'est la première fois que du code optimisé par CUDA est exécuté sur du matériel non NVIDIA.
Des chercheurs RISC-V américains et sud-coréens ont réussi à rendre le code CUDA de Nvidia compatible avec du matériel non Nvidia. Il s'agit d'un véritable exploit si l'on considère qu'AMD et Intel n'ont pas encore mis en œuvre une telle solution. Le GPGPU Vortex basé sur RISC-V traduit essentiellement le code CUDA en instructions OpenCL par le biais de la bibliothèque RISC-V

C'est en 2007 que Nvidia a introduit pour la première fois la prise en charge de CUDA (Compute Unified Device Architecture) pour ses GPU, permettant ainsi aux cartes graphiques de fonctionner comme un puissant CPU ou GPU universel (GPGPU) et d'exécuter des instructions de calcul. Depuis lors, Nvidia a commencé à ajouter des petits cœurs compatibles CUDA à tous ses GPU, et CUDA a évolué en une plateforme/API de calcul parallèle complexe qui peut alimenter les superordinateurs les plus rapides superordinateurs les plus rapides du monde. Il s'agit d'une solution propriétaire, qui ne fonctionne donc pas avec les produits de la gamme AMD ou Intel GPU. Cependant, cela n'a pas empêché les chercheurs d'essayer de porter la plate-forme sur un GPGPU basé sur RISC-V, et il semble que CUDA puisse être adapté pour fonctionner sur du matériel non propriétaire après tout.

RISC-V est apparu comme l'une des meilleures alternatives aux solutions ARM depuis que Nvidia a lancé l'opération d'acquisition d'ARM. En tant que première architecture de jeu d'instructions à source ouverte et sans licence, RISC-V peut même être programmé pour fonctionner comme une alternative à l'architecture x86 sur les pC de bureau/portableset Intel prévoit déjà une collaboration RISC-V pour les futurs processeurs de mobilité. Des chercheurs des États-Unis et de Corée du Sud ont récemment utilisé la syntaxe facile à comprendre et la personnalisation étendue de l'ISA RISC-V pour permettre la prise en charge de CUDA dans un projet GPGPU appelé Vortex. Le matériel RISC-V utilisé dans ce cas repose sur l'ISA RV32IMF, qui permet aux cœurs 32 bits de passer de 1 à 32 cœurs dans les conceptions de GPU. Vortex prend déjà en charge OpenCL 1.2, tout comme les GPGPU d'AMD GPGPU d'AMDd'AMD, mais les chercheurs ont voulu prouver qu'il pouvait également prendre en charge CUDA dans une certaine mesure.

Afin d'exécuter du code optimisé pour CUDA, les chercheurs le reformulent dans le format de représentation intermédiaire (IR) NVVM, basé sur l'IR LLVM open-source. Ce format est à son tour converti en IR portable standard (SPIR-V), qui est ensuite traduit par l'implémentation POCL (portable OpenCL) qui inclut la bibliothèque RISC-V. Vortex exécute finalement le code optimisé pour CUDA sous forme d'instructions OpenCL.

Vortex prend actuellement en charge la plupart des applications CUDA, mais les chercheurs précisent qu'il existe quelques applications utilisant la mémoire de texture ou les fonctions mathématiques, qui ne sont pas encore prises en charge. La vitesse de réalisation de la traduction de CUDA en OpenCL n'est pas encore claire.

 

Achetez le SiFive HiFive1 Rev B RISC-V SoC et la carte de développement sur Amazon

(Source d'image : papier Vortex)
(Source d'image : papier Vortex)
Please share our article, every link counts!
> Revues et rapports de ordinateurs portatifs et smartphones, ordiphones > Archives des nouvelles 2021 09 > Les chercheurs permettent la prise en charge des applications Nvidia CUDA sur les GPGPU RISC-V
Bogdan Solca, 2021-09- 9 (Update: 2021-09- 9)