Skip to content

Commit 69c4ec0

Browse files
authored
Merge pull request #1752 from carterbox/patch-2
DOC: Add note about mpi compiler metapackages
2 parents 1da8950 + beb257f commit 69c4ec0

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/maintainer/knowledge_base.rst

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ and apply the appropriate conditionals in your build:
488488
489489
490490
Preferring a provider (usually nompi)
491-
"""""""""""""""""""""""""""""""""""""
491+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
492492

493493
Up to here, mpi providers have no explicit preference. When choosing an MPI provider, the mutual exclusivity of
494494
the ``mpi`` metapackage allows picking between mpi providers by installing an mpi provider, e.g.
@@ -580,7 +580,7 @@ Remove the ``if mpi...`` condition if all variants should create a strict runtim
580580
chosen at build time (i.e. if the nompi build cannot be run against the mpich build).
581581

582582
Complete example
583-
""""""""""""""""
583+
^^^^^^^^^^^^^^^^
584584

585585
Combining all of the above, here is a complete recipe, with:
586586

@@ -660,7 +660,7 @@ mpi-metapackage exclusivity allows ``mpi_*`` to resolve the same as ``mpi_{{ mpi
660660
if ``{{ mpi }}`` is also a direct dependency, though it's probably nicer to be explicit.
661661

662662
Just mpi example
663-
""""""""""""""""
663+
^^^^^^^^^^^^^^^^
664664

665665
Without a preferred ``nompi`` variant, recipes that require mpi are much simpler. This is all that is needed:
666666

@@ -680,6 +680,13 @@ Without a preferred ``nompi`` variant, recipes that require mpi are much simpler
680680
run:
681681
- {{ mpi }}
682682
683+
MPI Compiler Packages
684+
^^^^^^^^^^^^^^^^^^^^^
685+
686+
Do not use the ``[openmpi,mpich]-[mpicc,mpicxx,mpifort]`` metapackages in the ``requirements/build`` section
687+
of a recipe; the MPI compiler wrappers are included in the main ``openmpi``/``mpich`` packages.
688+
As shown above, just add ``openmpi``/``mpich`` to the ``requirements/host`` section and use compiler directives for the
689+
corresponding compilers in ``requirements/build`` as normal.
683690

684691

685692
OpenMP

0 commit comments

Comments
 (0)