Compilers on Sauron

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

VendorCC++f77f90
Portland GrouppgccpgCCpgf77pgf90
GNU Softwaregccg++g77N/A
Intelicciccifortifort