MPI: Difference between revisions

1,040 bytes added ,  2 years ago
(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&nbsp;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&nbsp;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-->
cc_staff
653

edits