Compilateurs et wrappers mpi
Article mis en ligne le 7 octobre 2014
dernière modification le 20 septembre 2017
logo imprimer

Quel compilateur utiliser ?

Pour compiler vos codes, vous pouvez utiliser les compilateurs gnu : gcc, g++ ou gfortran, ou alors les compilateurs Intel : icc, icpc ou ifort

Les compilateurs gnu ont l’avantage de la portabilité : vous les retrouverez sur tous les systèmes gnu/linux, de nombreux codes viennent avec des makefile écrits pour ces compilateurs.

Les compilateurs intel ont l’avantage de la performance : surtout en fortran, il est préférable de les utiliser sur Eos, afin de bénéficier de toutes les ressources des processeurs. D’autre part, seul un code compilé avec la suite Intel sera correctement instrumenté pour vous permettre d’utiliser les outils d’analyse de performance : Vtune, itac, etc.

Comment faire pour utiliser tel compilateur avec mpi ?

Les commandes mpiifort, mpiicc, mpif90, mpicc sont des "wrappers". Ces wrappers permettent à la fois de compiler les sources et de faire l’édition des liens pour la librairie MPI sous-jacente.
Ci-dessous un tableau explicitant les compilateurs qui sont utilisés en fonction des différents wrappers et des bibliothèques MPI chargées dans votre environnement.

lib. MPI
compilateur Intel MPI BullxMPI openmpi
Intel fortran mpiifort mpif90 export OMPI_FC=ifort ; mpif90
Intel C mpiicc mpicc export OMPI_CC=icc; mpicc
Intel C++ mpiicpc mpicxx export OMPI_CXX=icpc; mpicxx
Gnu Fortran mpif90 export OMPI_FC=gfortran; mpif90 mpif90
Gnu C mpicc export OMPI_CC=gcc ; mpicc mpicc
Gnu C++ mpicxx export OMPI_CXX=g++ ; mpicxx mpicxx

Derrière l’appel à cette commande, de nombreux arguments sont cachés. Pour les connaître :



Site réalisé sous SPIP
avec le squelette ESCAL-V3
Version : 3.86.44
Hébergeur : INP Toulouse