AMD dévoile son nouvel outil HIP pour convertir des codes CUDA en C++
Qui apporte plus de flexibilité aux développeurs

Le , par Malick, Community Manager
AMD (Advanced Micro Devices), un très grand défenseur de l'open source et des standards ouverts, vient d'annoncer la création de son nouvel outil qui permettra aux développeurs de convertir des codes CUDA en C ++. Selon l'éditeur, l'outil nouvellement créé est baptisé HIP et offrira aux utilisateurs plusieurs possibilités quant aux choix de leurs outils et matériels de développement.

Rappelons que CUDA (Compute Unified Device Architecture) est une architecture de traitement parallèle qui a été développée par NVIDIA. Son objectif est de favoriser le décuplement ou hausse des performances de calcul d'un système, cela en exploitant la puissance des processeurs graphiques GPU. Le traitement parallèle consiste à utiliser plusieurs ressources simultanément (processeurs, RAM, caches, DMA, etc.) afin d'accélérer l'exécution d'un programme.

Dans son annonce, AMD soutient que HIP, en sus de permettre la conversion de code CUDA en C++, va permettre aux développeurs de compiler le code source de CUDA afin qu'il puisse être exécuté sur NVIDIA ou sur le GPU AMD.

Selon AMD, son outil nouvellement créé en l'occurrence HIP intègre de nombreuses caractéristiques. Ces dernières se présentent comme suit :
  • HIP est très léger et n'a aucun impact négatif sur les performances lorsque le codage se fait directement en CUDA ou via le compilateur HCC ;
  • HIP permet aux développeurs de coder uniquement dans le langage C++ et intègre plusieurs fonctionnalités telles que des modèles ou templates, des fonctions lambda de C ++ 11, les classes, et beaucoup d'autres choses ;
  • HIP offre aux développeurs la possibilité de choisir, lors de leurs travaux, le meilleur environnement de développement et les meilleurs outils disponibles. Cela quelle que soit la plateforme choisie pour développer ;
  • l'outil HIPify convertit automatiquement les codes CUDA ;
  • HIP donne la possibilité aux développeurs de choisir comme plateforme de travail soit CUDA soit HCC, cela pour des raisons de performances ou pour traiter des cas assez difficiles.

AMD soutient également que les développeurs peuvent utiliser le langage C++ pour développer de nouveaux projets directement sur HIP. Les projets aboutis seront compatibles avec les plateformes NVIDIA ou AMD. Le communiqué précise que HIP fournit des outils qui rendent facile le portage des codes écrits en CUDA, cela sans affecter négativement les performances durant l'exécution du code.

Le code source de HIP est hébergé sur GitHub.

Source : AMD

Et vous ?

Que pensez-vous de ce nouvel outil HIP ?

Allez-vous le tester ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de athlon64 athlon64 - Membre confirmé https://www.developpez.com
le 18/12/2016 à 10:10
Bonjour,

il en sort globalement que HIP se rapproche de CUDA C++, mais en Libre.
L'accessibilité jusqu'alors des GPU AMD à travers OpenCL (langage C) ne souffrira plus désormais des limitations liées au langage C grâce à HIP(C++).
HIP permettra aux GPU AMD d'exploiter la puissance du C++ comme le fait déjà en partie CUDA avec CUDA C++. Tant mieux, c'est libre on est preneur .

CUDA commençait à devenir un écosystème propriétaire similaire à Apple, une fois adopté, en sortir devient moins pratique.

Citation Envoyé par Malick SECK  Voir le message
Rappelons que CUDA (Compute Unified Device Architecture) ...

joli acronyme, mais qu'on n'a jamais trouvé jusqu'à présent dans un document officiel de NVIDIA... il faut se méfier du Wikipedia en français .
Avatar de zobal zobal - Membre confirmé https://www.developpez.com
le 18/12/2016 à 13:32
Citation Envoyé par athlon64  Voir le message
joli acronyme, mais qu'on n'a jamais trouvé jusqu'à présent dans un document officiel de NVIDIA... il faut se méfier du Wikipedia en français .

http://developer.download.nvidia.com..._Guide_1.0.pdf
Avatar de athlon64 athlon64 - Membre confirmé https://www.developpez.com
le 18/12/2016 à 21:44
"the name CUDA was an acronym for Compute Unified Device Architecture, but Nvidia subsequently dropped the use of the acronym."

Peut-on lire sur la page wikipedia en anglais...

En fait le mot CUDA existait bien avant l’écosystème CUDA, c'était le nom d'une carte graphique, cette carte graphique a été utilisée pour les premières expériences GPGPU.
Sinon l'expression en elle même est ridicule de sens, du fait qu'elle ne décrit en rien la plateforme actuelle CUDA, NVIDIA le sait et l'a banni, si on ne trouve donc pas cet acronyme sur le site actuel de NVIDIA, c'est bien qu'il y a une raison .

Mark Ebersole cite : "si vous entendez quelqu'un user de cet acronyme vous lui dites que c'est faux ..." si vous avez un doute vous pouvez essayer d'en discuter avec lui, son poste
"Training Development Manager & Director, NVIDIA Deep Learning Institute at NVIDIA"

https://youtu.be/KfGnLltyRH4?t=28m38s
Avatar de zobal zobal - Membre confirmé https://www.developpez.com
le 19/12/2016 à 1:44
Effectivement, l'acronyme n'est plus utilisé mais il a bel et bien existé sur des docs officielles.
Maintenant, ce que j'en dis c'est juste pour aider car personnellement j'en ai vraiment rien à carrer de l'étymologie du terme CUDA.
Contacter le responsable de la rubrique Accueil