Vous êtes ici : Accueil > Espace Utilisateurs > Utilisation du système de calcul EOS > Améliorer les performances > Utilisation d’Intel Math Kernel (MKL) avec le module ’gcc’
Par : Mickaël
Publié : 7 février

Utilisation d’Intel Math Kernel (MKL) avec le module ’gcc’

D’une manière générale, il est recommandé de compiler les codes Fortran / C / C++ sur EOS avec le module Intel. Dans ce cas, la librairie MKL est activée par défaut et le lien à la compilation se fait via la seule option -mkl.

Pour quelque raison que ce soit, dans le cas ou la compilation ne pourrait être faite via le module Intel (ifortran, icc, icpc), il est tout de même possible d’utiliser la librairie MKL avec les compilateurs GNU.

- Linker BLAS-LAPACK MKL avec le compilateur GNU (gfortran) :

Compiler en séquentiel Compiler en parallèle (en multithreading)
gfortran -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl monprog.f90    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    

- Linker BLAS-LAPACK MKL avec le compilateur GNU (gcc/g++) :

Compiler en séquentiel Compiler en parallèle (en multithreading)
gcc -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl monprog.c    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