Aller au contenu principal

La bibliothèque Intel MKL

Description

Intel MKL (Math Kernel Library) est une bibliothèque qui propose des routines mathématiques séquentielles et parallèles hautement optimisées. Les fonctions mathématiques de base comprennent BLAS, LAPACK, ScaLAPACK, BLACS, des solveurs creux et FFT.

Versions installées

Les versions installées sur Jean Zay peuvent être trouvées par la commande suivante :

module avail intel-mkl

Environnement

Pour la commande module, les versions d'Intel MKL ne dépendent d'aucun environnement.

Par contre, nous vous recommandons d'utiliser chaque version de la bibliothèque Intel MKL avec la version correspondante du compilateur Intel (voir les modules intel-compiler/...).

Pour obtenir les informations sur les chemins d'accès aux librairies, il suffit d'utiliser la commande suivante :

module show intel-mkl

Utilisation

La bibliothèque est accessible par module.

Pour charger la version par défaut dans l'environnement courant :

module load intel-mkl

ou pour charger une version spécifique :

module load intel-mkl/19.0.5
attention

Pour la commande module, les versions d'Intel MKL ne dépendent d'aucun environnement. Par conséquent, aucune version de compilateur ne sera automatiquement chargée lors de l'activation d'une version d'Intel MKL. Nous vous recommandons d'utiliser chaque version de la bibliothèque Intel MKL avec la version correspondante du compilateur Intel (voir module avail intel-compilers).

Édition des liens

L'édition des liens pour l'utilisation de la MKL peut varier en fonction de plusieurs paramètres tels que le système d'exploitation, le type de compilateur et l'architecture. Il est recommandé d'utiliser Intel® MKL Link Line Advisor pour retrouver les options appropriées.

remarque

Les exemples suivants utilisent la bibliothèque Intel MKL par défaut et le compilateur Intel par défaut pour avoir un environnement cohérent.

Voici un exemple pour la bibliothèque BLAS :

module load intel-mklmodule load intel-compilersifort appel_blas.f90 -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 \ 
-lmkl_sequential -lmkl_core -lpthread -lm -ldl

Voici un exemple pour la bibliothèque LAPACK :

module load intel-mklmodule load intel-compilersifort appel_lapack.f90 -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 \ 
-lmkl_sequential -lmkl_core -lpthread -lm -ldl

Voici un exemple pour la bibliothèque ScaLAPACK :

module load intel-mklmodule load intel-compilersifort appel_scalapack.f90 -L${MKLROOT}/lib/intel64 \ 
-lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 \
-lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm

Documentation

📝 Intel MKL documentation