Sauron uses MPICH flavour of MPI. To compile your MPI programs use mpicc (C), mpif77 (f77) and mpicxx (C++). Note that the default MPI compilers on Sauron uses the Portland Group compilers.
Example 5. Details of the MPI compilers
sdutta@sauron:~> mpicc -show pgcc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/usr/rels/mpich/lib -lmpich sdutta@sauron:~> mpif77 -show pgf77 -L/usr/rels/mpich/lib -lmpich sdutta@sauron:~> mpicxx -show pgCC -tp k8-64 -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/usr/rels/mpich/lib -lpmpich++ -lmpich sdutta@sauron:~> mpif90 -show ln -s /usr/rels/mpich/include/mpif.h mpif.h pgf90 -L/usr/rels/mpich/lib -lmpichf90 -lmpich rm -f mpif.h sdutta@sauron:~>
In addition to the Portland Group compilers MPI compilers using Gnu and Intel's compilers are also available. You can find these in /usr/local/mpich.gcc/bin/mpicc and /usr/local/mpich-intel/bin/mpicc respectively.
Example 6. Details of the GNU and Intel compiler versions of MPI
sdutta@sauron:~> /usr/local/mpich-intel/bin/mpicc -show /usr/local/intel_cc/bin/icc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/usr/local/mpich-intel/lib -lmpich sdutta@sauron:~> /usr/local/mpich.gcc/bin/mpicc -show cc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/usr/local/mpich.gcc/lib -lmpich sdutta@sauron:~>
If you do not have a MPI program use any one of the compilers from the three vendors to compile your serial program.
Table 2. Compilers on Sauron
| Vendor | C | C++ | f77 | f90 |
|---|---|---|---|---|
| Portland Group | pgcc | pgCC | pgf77 | pgf90 |
| GNU Software | gcc | g++ | g77 | N/A |
| Intel | icc | icc | ifort | ifort |