
Table des matières
Jean Zay : la bibliothèque CUDA Toolkit (CuFFT, CuBLAS, CuSPARSE, CuSOLVER, ...)
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 les fonctions hautement optimisées et accélérées via GPU pour l'algèbre linéaire ou les 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.
Utilisation
CUDA Toolkit est disponible via le module
cuda
et accessible via la commande
$ module load cuda/10.0
Versions installées
Il est possible de retrouver les versions disponibles installées sur la machine par le commande module avail
:
$ module avail cuda cuda/9.2 cuda/10.0 cuda/10.1.1
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.
L'utilisation des versions statiques nécessitent l'ajout du suffixe _static
, par exemple :
-lcublas_static
pour utiliser la version statique de CuBLAS.