mpich icon indicating copy to clipboard operation
mpich copied to clipboard

PMI.md advertises a `--with-pmilib` value not documented in its synposis

Open SomeoneSerge opened this issue 1 year ago • 4 comments

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 build mpich 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!

SomeoneSerge avatar Jan 24 '24 17:01 SomeoneSerge

The slurm option was used as a transitional hack. Try --with-pmi2=[path to slurms libpmi2.so (above lib)].

hzhou avatar Jan 24 '24 18:01 hzhou

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

SomeoneSerge avatar Jan 24 '24 18:01 SomeoneSerge

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?

SomeoneSerge avatar Jan 24 '24 19:01 SomeoneSerge

The current state of PMI configure options are described in this PR: https://github.com/pmodels/mpich/pull/6662

hzhou avatar Jan 24 '24 19:01 hzhou