Intel Math Kernel : MKL
Article mis en ligne le 11 juillet 2018
dernière modification le 21 mai 2019
Version installée sur OLYMPE :
version 18.2
Nul besoin de charger un module spécial pour utiliser la mkl : la mkl est intégrée dans le module intel/18.2 (chargé 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
MKL possède une interface C pour BLAS.
Sur Olympe, la MKL est directement intégrée au module intel présent par défaut dans votre environnement. | |
---|---|
Attention de bien positionner la variable intel comme suit dans votre script SLURM : | |
export MKL_DYNAMIC=FALSE (shell bash) |
setenv MKL_DYNAMIC FALSE (shell tcsh) |
Linker BLAS-LAPACK MKL avec le compilateur Intel :
compiler en séquentiel | compiler en parallèle (en multithreading) |
%ifort monprog.f90 -mkl=sequential |
%ifort monprog.f90 -mkl ou %ifort monprog.f90 -mkl=parallel |
Linker ScaLAPACK MKL avec le compilateur Intel et IntelMPI :
%mpiifort monprog.f90 -mkl=cluster |
Exemple de tests de scalabilité avec la MKL (en mémoire partagée)