CUDA (Compute Unified Device Architecture)

CUDA est une archi­tec­ture de cal­cul par­al­lèle qui utilise la capac­ité de cal­cul par­al­lèle des GPU de chez NVIDIA. Elle per­met le développe­ment d’applications en C /C++, et est com­pat­i­ble avec les API stan­dard comme Direc­tX et Open­CL.

News:

  • Mai 2017: Sor­tie de la ver­sion 9. Voici la liste des nou­veautés, dont le sup­port des coeurs ten­soriels (archi vol­ta), mais égale­ment un sup­port dans Visu­al Stu­dio 2017, Clang 3.9, PGI 17.1 et GCC 6.
  • Décem­bre 2016: AMD dévoile HIP (Het­ero­ge­neous-com­pute Inter­face for Porta­bil­i­ty) pour con­ver­tir du code CUDA en C++. Ce code C++ résul­tant peut être com­pilé par les com­pi­la­teurs NVCC (CUDA NVIDA) ou HCC (AMD) pour tourn­er sur la GPU du choix du développeur. De même, il sera pos­si­ble de com­pil­er CUDA pour les cartes AMD ! Voir GitHub.
  • Mai 2016: Clang, com­pi­la­teur C++, per­met de com­pil­er pour GPU com­pat­i­ble CUDA. Voir ici.
  • Févri­er 2007: Pre­mier SDK CUDA pour les cartes graphiques GeForce 8 Series.

Car­ac­téris­tiques:

  • Per­met de pro­gram­mer des GPU de Nvidia en C/C++,  For­tran, Python (pyCU­DA), Java (jCU­DA, JCublas, JCufft, JCud­pp), .NET (Cuda.NET).
  •  Dis­po sous Win­dows, MacOS, Lin­ux
  • Un pro­gramme CUDA est con­sti­tué d’une par­tie qui s’exécute sur l’hôte (host) et d’une par­tie qui s’exécute sur le périphérique (device). Les deux peu­vent être dans un même fichi­er.
  • On l’oppose sou­vent à Open CL, tech­nolo­gie d’AMD, qui elle fonc­tionne aus­si bien sur Nvidia que sur AMD (anci­en­nement ATI).  Notons qu’on peut tra­vailler en ému­la­tion CUDA (sans gain, mais pour les tests).
  • 3 fonc­tions à con­naitre: cud­aMal­loc (Allo­ca­tion mémoire), cud­aFree (libéra­tion), et cud­aMem­cpy (copie de la mémoire de l’host vers le device).
  • PTX (Paral­lel Thread eXecu­tion) est l’assembleur, généré par nvcc, exé­cuté sur le GPU com­pat­i­ble avec CUDA.  Les fichiers PTX sont com­pilés à l’aide de ptxas, util­i­taire fourni avec CUDA.

Sites et ressources:

 

Fièrement propulsé par WordPress | Thème : Baskerville 2 par Anders Noren.

Retour en haut ↑

%d blogueurs aiment cette page :