Utiliser la MKL avec les compilateurs gnu

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

Édition de liens pour BLAS-LAPACK (gfortran):

Compiler en séquentiel

gfortran -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl monprog.f90

Compiler en parallèle (en multithreading)

gfortran -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl -fopenmp monprog.f90

Édition de liens pour BLAS-LAPACK (gcc/g++):

Compiler en séquentiel

gcc -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl monprog.c

Compiler en parallèle (en multithreading)

gcc -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl -fopenmp monprog.c

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs

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)

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)