38,760
edits
(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 | 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 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 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 | '''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 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 | 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: | ||
}} | }} | ||
If you have loaded <code>gcc/9.3.0</code> and <code>openmpi/4.0.3</code> modules: | |||
{{Command | {{Command | ||
|mpicc -showme | |mpicc -showme |