Compilateurs

Compilateur Intel C/C++

Release Note : Compilateur Intel C/C++ Release Notes 2015

Compilateur Intel fortran

Release Note : Compilateur Intel Fortran Release Notes 2015

Utilisation des coarray

Les coarray sont une des spécifications de la norme fortran 2008, qui permettent d'utiliser le calcul parallèle directement par de nouvelles syntaxes.
Ils sont généralement construit au dessus d'une librairie MPI. Les dernières versions des compilateurs (> intel 14) implémentent cette fonctionnalité.

exemple : (voir source:/example_codes/hello_world_coarray.f90)

[homer@thor test]$ ifort -coarray -o hello_world_coarray hello_world_coarray.f90

options de compilation

  • Compilation Fortran
  • avec MPT: ifort -lmpi -o a.out code.f ou mpif90 -o a.out code.f90
  • avec IntelMPI: mpiifort -o a.out code.f
  • Exemple de compilation de codes multiprocesseurs (mémoire partagée - OpenMP)
Si on utilise OpenMP pour la parallélisation, l’option -openmp doit être passée au compilateur intel.
  • Compilation C/C++ :
    icc -openmp -o a.out code.c
  • Compilation Fortran :
    ifort –openmp -o a.out code.f
  • Principales options de compilation

Ces options sont communes aux 3 modes

  • -g debug (p.ex avec gdb)
  • -On n=1, 2, 3 optimisation générique, (O2 par défaut)
  • -xSSE4.2 instructions spécifiques aux processeurs de la machine
  • -traceback avec -g , affiche la ligne en cas d’arrêt de l’exécution
  • -fpe0 stoppe l’exécution en cas de NaN ou division par zéro

Pour d’autres options, man ifort / icc

  • Link avec MKL

Ce lien vous permet de savoir la ligne exacte à utiliser pour linker avec les diverses composantes de MKL (BLAS, LAPACK,...), selon vos besoins :

https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor