Utiliser la MKL avec les compilateurs Intel

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)


  1. BLAS (Basic Linear Algebra Subprograms) : Level 1,2 et 3
  2. LAPACK : toutes les routines LAPACK version 3
  3. Sparse Solver(Solveur Creux) : Routines pour la résolution de Systèmes linéaires creux
  4. Vector Math Library (VML) : Permet des opérations de type tan, sqrt,exp, sur des vecteurs
  5. Vector Statistical Library (VSL) : Génération de nombre aléatoires
  6. 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.
  7. ScaLAPACK
  8. 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)

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs

Utiliser la MKL avec les compilateurs gnu

Il est possible d’utiliser la bibliothèque MKL avec les compilateurs GNU.

Tests de scalabilité avec la MKL

ATTENTION - Cet article date de 2014, les tests ont été effectués sur Eos (le supercalculateur précédent Olympe). Eos avait 20 cœurs par nœud (40 si on utilisait l'hyperthreading)