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).
Les versions de CUDA antérieures à cuda/12.0.0 ne sont pas utilisables sur la partition H100 gpu_p6.
Pour obtenir les informations sur les chemins d'accès aux librairies, vous pouvez utiliser la commande suivante :
module show cuda/12.1.0Utilisation
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 :
-lcublaspour CuBLAS,-lcufftou-lcufftwpour CuFFT,-lcusparsepour CuSPARSE,-lcusolverpour CuSOLVER.
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