MPI_INFO_ENV(3)
π« MPI_INFO_ENV β the static MPI_Info object that knows things about your app β¨
okay so this is the MPI_INFO_ENV(3) page from the Open MPI manual set, and honestly? it's a little gem. let's get into it.
π NAME π
MPI_Info_env β a static MPI_Info object stuffed full of info about how your application got executed π«Ά
πΈ DESCRIPTION πΈ
so the MPI-3 standard was like "bestie, we need a static MPI_Info object" and thus MPI_Info_env was born β¨ it's literally there so you can peek at how the application was executed from the run-time. like a little receipt of your own launch. iconic behavior tbh.
π SUPPORTED FIELDS π
real talk, here's every field and what it's giving:
commandβ if it's available, the value gets set toargv[0]. BUT β οΈ it might not always be available β it's totally valid for a program to callMPI_InitwithNULLparameters, and in that caseargv[0]won't be set if you're running as a singleton. also, this value will never be set in a Fortran program, because theargvare just not there. sorry Fortran besties πargvβ theargvgiven to your application. no arguments passed? then this value is not set. also not set if you're a singleton callingMPI_InitwithNULLparameters, or if you're a Fortran program. same deal, different field πmaxprocsβ the number of processes in the job. the headcount. the squad size πsoftβ Open MPI does not support thesoftoption for specifying the number of processes to be executed, so this value is just set to the same thing asmaxprocs. it's matching energies πhostβ the name of the host this process is executing upon β literally the value returned fromgethostname(). where you at girl πarchβ the architecture of the host this process is executing upon. this value indicates the underlying chip architecture (e.g.,x86_64), if it can be determined. it's giving "we'll try our best" π¦wdirβ the working directory at the time of process launch bympiexec. heads up π this value will not be set for processes launched as singletons, because there's no reliable way for the MPI library to determine the location. no cap, it just can't know.fileβ although it's specified by the MPI-3 standard, no value is currently set for this field. ghost field. imaginary. we pretend we don't see her πthread_levelβ the requested MPI thread level. important nuance bestie: this may differ from the actual MPI thread level of the application. requested β received, we've all been there πompi_num_appsβ the number of application contexts in an MPMD job. this one is an Open MPI-specific field and value π₯ompi_npβ the number of processes in each application context, provided as a space-delimited list of integers. also Open MPI-specific πompi_first_rankβ the MPI rank of the first process in each application context, provided as a space-delimited list of integers. Open MPI-specific, yes ma'am β¨ompi_positioned_file_dirβ if Open MPI was asked to pre-position files, this field provides the top-level directory where those files were placed. Open MPI-specific field and value, we're so fancy π
π ERRORS π
when calling MPI_Info_get, the flag parameter will be set to zero (false) if a value for the field has not been set. so like... if it's zero, the field is empty. that's the vibe check π
π¦ SEE ALSO π¦
MPI_Info_get
π COPYRIGHT π
2003-2026, The Open MPI Community
π that's the whole page bestie, every field accounted for, nothing skipped, periodt. go forth and query your environment β¨
β lovingly signed off from the Open MPI manual set, dated Sep 11, 2026 πΈπ«Ά
π¦ where this page comes from
- arch rolling: openmpi 5.0.11-1 Β· BSD-3-Clause AND LicenseRef-MPICH
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms