Nautilus was decommissioned on May 1, 2015. For more information, see Nautilus Decommission FAQs.
Compilers and PE Modules
Nautilus provides C, C++ and Fortran compilers from Intel, GNU and PGI, with Intel being the default. Special programming environment or PE modules are used to easily switch compilers. For instance to switch from Intel to GNU:
> module swap PE-intel PE-gnu
The PE modules take care of setting the appropriate compiler macros (e.g. CC and F90) as well as loading MPT, which is SGI's MPI implementation. For sanity, only one PE module can be loaded at a time. The following table shows the macros and executable names for the various compilers:
Explore the man pages of the respective compilers for complete lists of compiler options.
MPIMPI is provided on Nautilus by SGI's Message Passing Toolkit (MPT) which supports version 2.2 of the MPI standard as well as providing the SHMEM programming model. MPT is loaded by default with any of the PE modules. When compiling your MPI code, use the
-lmpilinker flag, for example:
icc myprogram.c -o myprogram -lmpi
For C++ code, also include the
icpc myprogram.c -o myprogram -lmpi++ -lmpi
OpenMP programs require certain compiler flags according to which compiler you are using:
The Intel Math Kernel Library (MKL) is available for use with the Intel
compilers. When compiling, specify the
-mkl flag, for example:
icpc test.cpp -mkl