Skip to content

Commit 123e1c7

Browse files
authored
Merge pull request #1260 from conda-forge/beckermr-patch-1
ENH update the MPI instructions
2 parents 76dcc26 + 1dad1c7 commit 123e1c7

File tree

1 file changed

+3
-46
lines changed

1 file changed

+3
-46
lines changed

src/maintainer/knowledge_base.rst

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -421,32 +421,6 @@ And rerender with:
421421
422422
to produce the build matrices.
423423

424-
Current builds of both mpi providers have `run_exports` which is equivalent to adding:
425-
426-
.. code-block:: yaml
427-
428-
requirements:
429-
run:
430-
- {{ pin_run_as_build(mpi, min_pin='x.x', max_pin='x.x') }}
431-
432-
If you want to do the pinning yourself (i.e. not trust the mpi providers, or pin differently, add):
433-
434-
.. code-block:: yaml
435-
436-
# conda_build_config.yaml
437-
pin_run_as_build:
438-
mpich: x.x
439-
openmpi: x.x
440-
441-
.. code-block:: yaml
442-
443-
# meta.yaml
444-
requirements:
445-
host:
446-
- {{ mpi }}
447-
run:
448-
- {{ mpi }}
449-
450424
Including a no-mpi build
451425
^^^^^^^^^^^^^^^^^^^^^^^^
452426

@@ -489,29 +463,12 @@ or
489463
conda install openmpi ptscotch
490464
491465
This doesn't extend to ``nompi``, because there is no ``nompi`` variant of the mpi metapackage. And there probably
492-
shouldn't be, because some packages built with mpi doesn't preclude other packages in the env that *may* have an mpi variant
466+
shouldn't be, because some packages built with mpi don't preclude other packages in the env that *may* have an mpi variant
493467
from using the no-mpi variant of the library (e.g. for a long time, fenics used mpi with no-mpi hdf5 since there was no
494468
parallel hdf5 yet. This works fine, though some features may not be available).
495469

496-
Typically, if there is a preference it will be packaged with a nompi variant, where the serial build is
497-
preferred, such that installers/requirers of the package only get the mpi build if explicitly requested.
498-
499-
500-
.. admonition:: Outdated
501-
502-
To de-prioritize a build in the solver, it can be given a special ``track_features`` field:
503-
504-
- All builds *other than* the priority build should have a ``track_features`` field
505-
- Build strings can be used to allow downstream packages to make explicit dependencies.
506-
- No package should actually *have* the tracked feature.
507-
508-
509-
.. note::
510-
511-
**update**: track_features deprioritization has too high priority in the solver, preventing a package from
512-
adopting a variant of a dependency after some builds have already been made. Instead, use a build number
513-
offset to apply the preference at a more appropriate level.
514-
470+
Typically, if there is a preference it will be for the serial build, such that installers/requirers of the package
471+
only get the mpi build if explicitly requested. We use a higher build number for the ``nompi`` variant in this case.
515472

516473
Here is an example build section:
517474

0 commit comments

Comments
 (0)