Compiling
General
Several C/C++ and Fortran compilers are available on ewok. These include the GNU compilers as well as compilers from Portland Group (PGI), Pathscale, and Intel. Ewok will most likely have several versions of each compiler installed at any given time and available through modules.
MPI support is provided by MVAPICH. There are MVAPICH modules for each vendor’s compiler, and when switching compiler modules you should be sure that the appropriate MVAPICH module is loaded as well. For example, when using PGI, make sure the pgi and mvapich-pgi modules are both loaded. Likewise, for Pathscale, the necessary modules are pathscale and mvapich-pathscale. MVAPICH modules that are for compilers other than the one currently being used should not be loaded.
Wrappers are provided for building parallel codes. When using the wrappers, you do not need to link against the MPI library since this is handled by the wrapper. The wrappers are programming-language specific and include mpif77, mpif90, mpicc and mpiCC. Serial codes can be built by calling the compiler directly (e.g. pgf90, pathcc, ifort, gcc).