Aller au contenu principal

La bibliothèque Cuda Toolkit


Description

CUDA Toolkit propose un environnement de développement et un ensemble de librairies scientifiques permettant de créer des applications accélérées par des GPUs. Cet environnement inclut des fonctions hautement optimisées et accélérées via GPU pour l'algèbre linéaire et des applications scientifiques tels que BLAS, Transformées de Fourier rapides, etc.

Quelques librairies mathématiques et d'algèbre linéaire fournies par CUDA Toolkit :

  • CuBLAS (CUDA Basic Linear Algebra Subroutines) : Librairie BLAS standard, accélérée par les GPUs.
  • CuSPARSE : fonctions d'algèbre linéaire accélérées par les GPUs pour les opérations sur les matrices creuses.
  • CuFFT (CUDA Fast Fourier Transform) : Bibliothèque FFT accéléré par les GPUs.
  • CuSOLVER : Solveurs basé sur les méthodes directs pour les systèmes denses et creux.

Versions installées

CUDA Toolkit est disponible via la commande module. Il est possible de retrouver les versions installées sur la machine par la commande suivante :

module avail cuda----------------------------------------------------cuda/9.2    cuda/10.1.1    cuda/10.2      cuda/11.7.1    cuda/12.0.0    cuda/12.2.0    cuda/12.6.3cuda/10.0   cuda/10.1.2    cuda/11.2      cuda/11.8.0    cuda/12.1.0    cuda/12.4.1    cuda/12.8.0-----------------------------------------------------

Environnement

Les différentes versions de CUDA ne dépendent pas d'un environnement particulier (compilateurs).

attention

Les versions de CUDA antérieures à cuda/12.0.0 ne sont pas utilisables sur la partition H100 gpu_p6.

Remarque

Pour obtenir les informations sur les chemins d'accès aux librairies, vous pouvez utiliser la commande suivante :

module show cuda/12.1.0

Utilisation

CUDA Toolkit est accessible par la commande module.

Pour charger la version par défaut :

module load cuda

ou pour charger une version spécifique :

module load cuda/10.0

Edition des liens

Après le chargement du module CUDA, il sera nécessaire lors de la compilation de spécifier la bibliothèque utilisée en spécifiant l'option :

  • -lcublas pour CuBLAS,
  • -lcufft ou -lcufftw pour CuFFT,
  • -lcusparse pour CuSPARSE,
  • -lcusolver pour CuSOLVER.
info

L'utilisation des versions statiques nécessitent l'ajout du suffixe _static, par exemple : -lcublas_static pour utiliser la version statique de CuBLAS.

Documentation

🌐 Site de référence CUDA
📝 Manuel de référence CuFFT
📝 Manuel de référence CuBLAS
📝 Manuel de référence CuSPARSE
📝 Manuel de référence CuSOLVER