CUDA (Compute Unified Device Architecture)
Architecture unifiée de calcul sur GPU
Qu’est-ce que CUDA ?
Introduit par NVIDIA en 2006, CUDA (abréviation initiale de Compute Unified Device Architecture, ou architecture unifiée de calcul sur GPU) désigne deux éléments :
1. Architecture CUDA : l’architecture massivement parallèle des GPU NVIDIA, qui intègrent des centaines, voire des milliers de cœurs.
2. Plateforme logicielle et modèle de programmation CUDA : également conçus par NVIDIA, ils constituent un type d’API (interface de programmation d’applications) permettant aux développeurs de programmer ces GPU pour des opérations de calcul généralistes.
Pourquoi avez-vous besoin de CUDA ?
CUDA permet aux développeurs d’accélérer les applications nécessitant d’importantes capacités de calcul en exploitant la puissance des GPU pour toute partie parallélisable d’un calcul. Contrairement aux interfaces de programmation GPU précédentes, telles que Direct3D et OpenGL, qui exigeaient des compétences avancées en programmation graphique, CUDA facilite considérablement la mise en œuvre de programmes parallèles par les développeurs et les ingénieurs logiciels, car il est compatible avec plusieurs langages de programmation courants, notamment C, C++ et Fortran. Il leur suffit d’ajouter à ces langages quelques extensions prenant la forme de mots-clés de base pour accéder directement au jeu d’instructions virtuel du GPU et à ses unités de calcul parallèle lors de l’exécution des noyaux de calcul.
En quoi GIGABYTE vous aide-t-il ?
Les systèmes serveurs R-Series et G-Series de GIGABYTE sont optimisés pour fonctionner avec des GPGPU NVIDIA compatibles CUDA (unités de traitement graphique à usage général), tels que les Tesla V100, Tesla T4 et la série RTX Quadro. Il s’agit d’une solution matérielle prête à l’emploi avec l’interface de programmation CUDA, qui fournit aux développeurs un outil puissant pour traiter des charges de travail massivement parallèles, notamment dans le cadre de simulations scientifiques ou de l’entraînement de réseaux neuronaux profonds (DNN).