Raccourcis
Nul besoin de charger un module spécial pour utiliser la mkl : la mkl est intégrée dans tous les modules intel (la version 18.2 est chargée dans l’environnement par défaut sur Olympe)
- BLAS (Basic Linear Algebra Subprograms) : Level 1,2 et 3
- LAPACK : toutes les routines LAPACK version 3
- Sparse Solver(Solveur Creux) : Routines pour la résolution de Systèmes linéaires creux
- Vector Math Library (VML) : Permet des opérations de type tan, sqrt,exp, sur des vecteurs
- Vector Statistical Library (VSL) : Génération de nombre aléatoires
- FFT : Deux interfaces sont fournies pour les transformées de Fourier Rapides : L’interface recommandée est DFT (Discret Fourier Transform) en Fortran90 qui fournie assez de fonctionnalités et de flexibilité pour couvrir la plupart des besoins FFT.
- ScaLAPACK
- BLACS
Interface C pour BLAS
La MKL possède une interface C pour BLAS. Attention de bien positionner la variable intel comme suit dans votre script SLURM :
export MKL_DYNAMIC=FALSE
Édition de liens pour BLAS-LAPACK:
En séquentiel:
# ifort monprog.f90 -mkl=sequential
Utilisation du multithreading:
# ifort monprog.f90 -mkl
ou
# ifort monprog.f90 -mkl=parallel
Édition de lien BLAS-SCALAPAK
%mpiifort monprog.f90 -mkl=cluster
Exemple de tests de scalabilité avec la MKL (en mémoire partagée)