Description
Per @rhc54 and @jsquyres phone conversation...
ompi_info behavior
When #7202 is merged, ompi_info
will not show PRRTE MCA params. Which is kinda weird, from a user perspective. Ralph and I discussed this on the phone and came up with a tentative strategy on how to fix it:
- Adjust the PRRTE build order to build after OPAL and before OMPI (i.e., the same ordering in which ORTE used to be built). This will build
libprrte.la
. - If we didn't
--no-prrte
inautogen.pl
(i.e,. have some kind ofAM_CONDITIONAL
or somesuch), then linklibprrte.la
againstompi_info
.- Sidenote: it may be possible/desirable to just
dlopen("libprrte.la")
instead of compile-time linking against it. I haven't thought this through to know if it's easier or harder (i.e., justdlsym()
to find the MCA param list and use it), but it does offer one tantalizing possibility: also being able to show the PMIX MCA params (...and any other future project that uses MCA params).
- Sidenote: it may be possible/desirable to just
In this way, all the PRRTE MCA params will be available to ompi_info
.
TBD on how to display them -- we'll probably want to display them slightly differently, or qualify them somehow to note that they are PRRTE MCA params, not OMPI MCA params.
Sidenote: As part of #7202, @rhc54 is going to add the following behaviors into prun
:
- Examine argv[0]. If it's:
mpirun
, then--mca
params are OMPI paramsprun
, then--mca
params are PRRTE params
- Add
--omca
for OMPI MCA,--pxmca
for PMIX MCA,--prmca
for PRRTE MCA.
This will seem to give nice default behavior for mpirun
/ prun
, but also have explicit methods if a user wants to always be precise, regardless of argv[0].
SIDENOTE: Do we (also?) want --general-mca PROJECT KEY VALUE
(i.e., a 3-param form) that can take any MCA param (i.e., from OMPI, PMIX, or PRRTE)?
Another thing to think about: even if we make ompi_info
able to show PRRTE and OMPI MCA params, what's the UX for a user to specify them on the mpirun
command line -- do they have to know to --prmca
these params, and --omca
these other params? That might get confusing... Is there a way to make them automatic, if the framework names are unique between the projects?
PRRTE behavior
We might want to also have some ompi_info items (and/or end of configure output?) that shows. For example, #7559 requires PMIx v4 so that tools launching will work. If you add an additional CLI option, we'll build with PMIx v3, but then only direct launch will work.
We should note this behavior somewhere -- end of configure and/or ompi_info, or something.