Open
Description
Your page here
https://www.open-mpi.org/doc/current/
lists all the subroutines but should also list the environment-variables that are available to use.
I always have a hard time finding this info in the documentation.
Your page here
https://www.open-mpi.org/doc/current/
lists all the subroutines but should also list the environment-variables that are available to use.
I always have a hard time finding this info in the documentation.
Activity
jsquyres commentedon Nov 23, 2022
Thanks @cponder.
We are switching to an all-new documentation system for the upcoming Open MPI v5.0.x series -- see https://docs.open-mpi.org/en/v5.0.x/. Do you have a suggestion for where the relevant environment variables should be in that new tree of documentation?
cponder commentedon Nov 23, 2022
One thing I'd want is, where each
mpirun
command-line flag is described, also list the equivalent environment-variable if there is one.I'd add a chapter in section 9 on Environment Settings.
jsquyres commentedon Nov 23, 2022
FWIW, there's https://docs.open-mpi.org/en/v5.0.x/man-openmpi/man1/mpirun.1.html, but I think you're more asking about MCA parameters -- not just strictly
mpirun(1)
CLI options.For listing what MCA parameters are available, this very much depends on how Open MPI was configured on your system. As such,
ompi_info(1)
exists to list all the configuration options for your setup (https://docs.open-mpi.org/en/v5.0.x/man-openmpi/man1/ompi_info.1.html).That being said, MCA parameters can be set multiple ways -- on the command line, as environment variables, or in files. See https://docs.open-mpi.org/en/v5.0.x/running-apps/tuning.html#setting-mca-parameter-values.
cponder commentedon Nov 23, 2022
I see an explanation of how the environment-variables would be set, but only a few ever being mentioned by name and only in random locations.
WIth
OMPI_LDFLAGS
, for example, I see it in the FAQ but not in theompi_info
page.I want to see the complete list of what environment-variables are available.
MVAPICH2 has a whole section on them:
http://mvapich.cse.ohio-state.edu/static/media/mvapich/mvapich2-userguide.html#x1-17600010
rhc54 commentedon Nov 23, 2022
These are the OMPI vars that are provided regardless of configuration:
Is that what you are seeking?
cponder commentedon Nov 23, 2022
Yes, those in particular. Are they listed somewhere?
But also debug settings and the ones affecting the compilation.
I'd be inclined to list them in groups.
rhc54 commentedon Nov 23, 2022
I'm unaware of them being listed anywhere, though I imagine someone could add them to the docs if not already present. Debug settings are governed by the MCA params, as Jeff indicated, and probably harder to put into docs. Compilation envars are just the normal
CC
,LDFLAGS
, and friends - nothing specific to OMPI that I am aware of.cponder commentedon Nov 24, 2022
If the
OMPI_LDFLAGS
is valid, it would be fed specifically to thempicc
etc. compilers but ignored bygcc
etc.If it really does get used, I would want a sub-section for these kinds of parameters.
I get that the MCA parameters would derive from other parts of the system, and you can generate the list and use the rule to compose them as
OMPI_MCA_
variable-names (which I use occasionally). My preference would still be to have the complete list in the doc in its own sub-section if it's possible.rhc54 commentedon Nov 24, 2022
I've never heard of
OMPI_LDFLAGS
. A quick search of the code base shows it appears in some doc, but nowhere in the code itself is it used. My guess is that someone either incorrectly included it in the docs, or did so in anticipation of someone implementing it someday.I defer to the OMPI people about the MCA params being in the doc. They could, I suppose, use the respective "info" commands and a tool to scrape them from the two submodules (PMIx and PRRTE) plus the OMPI level and combine them into a doc. Would require someone to write that code and I'm not sure who has the time.
jjhursey commentedon Nov 28, 2022
Looking at Open MPI
main
, I see the following envars that are notOMPI_MCA
prefixed (all MCA parameters have a recipe for turning them into envars). Note that not all of these should be set by the end user - so they need some pruning and double checking.Per conversation, the
OMPI_LDFLAGS
is part of the wrapper compiler code generation see here - it's a bit difficult to see, but this is where it is checked for.rhc54 commentedon Nov 30, 2022
I'm not familiar with many of those. The ones I listed are all set by the runtime and not the user. Note that for historical reasons, there are a few
OMPI_MCA_xxx
envars that are in fact set by the runtime and are not user-settable (they are in the list I provided). Perhaps you folks might want to consider deprecating and replacing them someday with non-MCA versions to avoid confusion?vsoch commentedon Jan 21, 2023
Hiya! I'm looking for the environment variable equivalents for:
We are interacting with openmpi through Flux so we aren't using mpirun, but the bindings in flux. I also did some searching for a page with a listing but couldn't find anything (and found this thread instead). Can we just use
OMPI_ARGV
?ompi/ompi/runtime/ompi_mpi_init.c
Line 388 in 5dc2398
vsoch commentedon Jan 21, 2023
I think maybe these?
The question is whether they would get picked up by bindings without using mpirun directly?
rhc54 commentedon Jan 21, 2023
I'm afraid there is no way to do what you are seeking. The map/rank/bind options only control what
mpirun
does - they have no meaning toflux
. Likewise, a process cannot implement such operations itself. You'll need to find theflux
cmd line options and use those.