There are shell scripts to support the compilation and execution of parallel MPI programs for specific interconnects and compilers. On TACC systems, the Intel MPI library and Intel compiler modules are loaded at login to produce the default environment and link the appropriate shell scripts. Compiler scripts (wrappers) compile MPI code and automatically link startup and message passing libraries into the executable. The following table lists the compiler wrappers for each language:

Compiler wrappers for each language.
Compiler Language TypeSuffix
mpicc C .c
mpicxx C++ .C, .cpp, .cxx
mpif77/mpif90 F77/F90 .f, .for, .ftn, .f90, .f95, .fpp

As the table indicates, specific program-name suffixes are required for the input files to each compiler wrapper. By default, the resulting executable is named a.out; it may be renamed with the -o option. Put linker options such as library paths and library names after the program module names, as explained in the documentation for the system you are using. For Stampede2, refer to the Include and Library Paths (on Stampede3) section in the Stampede3 User Guide. If you are using Frontera, refer to the Include and Library Paths (on Frontera) section in the Frontera User Guide. To compile without proceeding to the link step, use the -c option.

 
©  |   Cornell University    |   Center for Advanced Computing    |   Copyright Statement    |   Inclusivity Statement