cc_staff
653
edits
(add section MPI compiler-wrappers) |
|||
Line 1,073: | Line 1,073: | ||
== MPI compiler-wrappers == | == MPI compiler-wrappers == | ||
The packages of MPI libraries typically provide so called "wrappers" for compilers. | |||
These are not compilers themselves but call other compilers and at the same time make sure to pass MPI-specific compiler flags to the compiler (i.e. they are a "thin" wrapper around the compiler). | |||
Typically they are called (this list does not attempt to be complete): | |||
* <code>mpicc</code> for C | |||
* <code>mpicxx</code> for C++ | |||
* <code>mpifort</code> and/or <code>mpif77</code> and/or <code>mpif90</code> for Fortran | |||
With Open MPI, these wrappers have the option <code>--showme</code> that will print which compiler will be called, and which compiler-options will be added. | |||
Note that the Compute Canada software stack contains several modules of the same Open MPI package (e.g. <code>openmpi/4.0.3</code>) that have been compiled with different compilers and without to with CUDA support. The MPI compiler-wrappers will always use those compilers and versions that have been loaded with a module (i.e. <code>intel</code> or <code>gcc</code>). | |||
== Comments and Further Reading == <!--T:51--> | == Comments and Further Reading == <!--T:51--> |