MPI/en: Difference between revisions

61 bytes removed ,  2 years ago
Updating to match new version of source page
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1,006: Line 1,006:
== MPI compiler-wrappers ==
== MPI compiler-wrappers ==


The packages of MPI libraries typically provide so called "wrappers" for compilers.
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).
These are not compilers themselves but call other compilers and at the same time make sure to pass MPI-specific flags to the compiler.


Typically they are called (this list does not attempt to be complete):
Typically they are called (this list does not attempt to be complete):
Line 1,017: Line 1,017:
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.
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>).
'''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 built with different compilers, and with and without CUDA support.  The MPI compiler-wrappers will always use the compiler and compiler version that you have loaded with the <code>module load</code> command.  


For example with loaded <code>intel/2020.1.217</code> and <code>openmpi/4.0.3</code> modules:
For example, if you have loaded the <code>intel/2020.1.217</code> and <code>openmpi/4.0.3</code> modules:
{{Command
{{Command
|mpicc -showme
|mpicc -showme
Line 1,026: Line 1,026:
}}
}}


and with loaded <code>gcc/9.3.0</code> and <code>openmpi/4.0.3</code> modules:
If you have loaded <code>gcc/9.3.0</code> and <code>openmpi/4.0.3</code> modules:
{{Command
{{Command
|mpicc -showme
|mpicc -showme
38,757

edits