mpich
mpich copied to clipboard
PMI.md advertises a `--with-pmilib` value not documented in its synposis
https://github.com/pmodels/mpich/blob/c2f04da1b3371b0e85c77761649adfa30a0f5269/doc/wiki/design/PMI.md?plain=1#L57-L59
...however:
https://github.com/pmodels/mpich/blob/c2f04da1b3371b0e85c77761649adfa30a0f5269/configure.ac#L1502-L1506
- Should
--with-pmilib
be used this way? - What exactly is the interpretation of
--with-pmilib=slurm
(i.e. as used with a name instead of mpich/install)? - Is my understanding correct, that
--with-pmi
specifies the name of the interface, not (necessarily) an implementation? - Does
--with-pmi
specify the interface to expose exclusively, or just the default? If so, how does one buildmpich
with the (optional) support for other interfaces? E.g. can one build mpich to use slurm's libpmi2 by default, but with an option to fallback to pmix?
This came up in relation to https://github.com/NixOS/nixpkgs/pull/283071#discussion_r1465256645 and any general advice on the meaning and interaction of --with-pmi
, --with-pmilib
, and --with-pmix
flags is welcome
Thanks!
The slurm
option was used as a transitional hack. Try --with-pmi2=[path to slurms libpmi2.so (above lib)]
.
Just to clarify, do I get it right that --with-pmi{1,2,x}
are declared at https://github.com/pmodels/mpich/blob/c2f04da1b3371b0e85c77761649adfa30a0f5269/configure.ac#L1537-L1539
...and also that instead of the autoconf-style --without-feature
variants they implement --with-feature=no
? https://github.com/pmodels/mpich/blob/1f055eeb0443b9349c663e9679b5a40dfd7cc2a8/confdb/aclocal_libs.m4#L165-L167
Getting configure: WARNING: unrecognized options: --with-pmi1, --with-pmi2
To be clear, --with-pmilib=slurm
did work, I just wasn't sure if it's the right thing to do.
This is with mpich 4.1.2
EDIT: I see now that 4.1.2 did contain logic for --with-pmi={slurm,cray,pmix,...}
and that --with-pmi{1,2}
were introduced later. We'll have to wait for the release to use those, I guess. Otherwise, could you confirm if my understanding above was close to correct?
The current state of PMI configure options are described in this PR: https://github.com/pmodels/mpich/pull/6662