Hprc banner tamu.png

Difference between revisions of "Ada:Compile:MPI"

Jump to: navigation, search
(MPI Code)
Line 39: Line 39:
|mpif90 <compiler_flags> prog.f90
|mpif90 <compiler_flags> prog.f90
|mpiifort <compiler_flags> prog.f
|mpicc  <compiler_flags> prog.c

Revision as of 13:51, 1 December 2014

MPI Code

The table below shows the commands to compile mpi programs. These commands are basically wrapper scripts that call the respective intel compilers with additional linker flags\ . Any intel compiler flag will also work when using the wrappers below. The following table shows the wrapper compiler names used by Intel MPI. These wrappers will invoke the underlying compilers with the appropriate compiler and linker flags for Intel MPI. Any arguments not recognized by the wrappers will be passed to the underlying Intel compilers. See each wrapper's man page for more information.

MPI wrapper Compiler Language Example
mpiicc icc C mpiicc <compiler_flags> prog.c
mpicc gcc C mpicc <compiler_flags> prog.c
mpiicpc icpc C++ mpiicpcp <compiler_flags> prog.cpp
mpicxx g++ C++ mpicxx <compiler_flags> prog.cpp
mpiifort ifort Fortran mpiifort <compiler_flags> prog.f90
mpif90 gfortran mpif90 <compiler_flags> prog.f90

To see complete compiler command when calling the wrapper functions above use the **-show** flag:

 -bash-4.1$ mpiifort -show 
ifort -I/software/easybuild/software/impi/ -I/software/easybuild/software/impi/ 
-L/software/easybuild/software/impi/ -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker 
/software/easybuild/software/impi/ -Xlinker -rpath -Xlinker -/opt/intel/mpi-rt/4.1 -lmpigf -lmpi -lmpigi -ldl -lrt -lpthread`