# Open MPI v5.0.x Open MPI is an open source implementation of the Message Passing Interface (MPI) specification. This file indexes the LLM-friendly documentation available for this Open MPI documentation version. ## About this file This is a limited llms.txt for the Open MPI v5.0.x release series. It indexes the human-facing HTML documentation and the rendered man pages. Open MPI publishes one llms.txt per documentation version, all under the same URL scheme: https://docs.open-mpi.org/en/VERSION_SLUG/llms.txt where VERSION_SLUG is either `main` (Open MPI's development tip) or `vA.B.C` (A and B are the major and minor version numbers; use `vA.B.x` for a release branch, e.g. `v5.0.x`, or an exact `vA.B.C` for a git-tagged release). Open MPI v5.0.x publishes this limited index only. The full set of machine-readable artifacts --- a structured JSONL API catalog, aggregate and per-interface Markdown corpora, per-procedure Markdown pages, curated examples and an interface guide, and a manifest --- is published for Open MPI v6.0.0 and later. If you need that structured API data, use a v6.0.0 or later version, for example https://docs.open-mpi.org/en/v6.0.x/llms.txt or https://docs.open-mpi.org/en/main/llms.txt . Documentation for Open MPI versions older than v5.0.x is not published in this format; for those, see https://github.com/open-mpi/ompi/blob/v4.1.x/README , https://www.open-mpi.org/faq/ , and https://www.open-mpi.org/doc/ . - The MPI Standard (https://www.mpi-forum.org/docs/) is authoritative for portable MPI semantics. - `MPIX_*` and `OMPI_*` APIs are Open MPI extensions, not portable MPI Standard APIs. ## API and command reference (man pages) - [MPI API man pages (man3 index)](man-openmpi/man3/index.html) - [Open MPI command man pages (man1 index)](man-openmpi/man1/index.html) ## Human-facing documentation - [Building MPI applications](building-apps/index.html) - [Launching MPI applications](launching-apps/index.html) - [Tuning MPI applications](tuning-apps/index.html) ## Runtime introspection (installed Open MPI) The links above are static documentation for this version. To inspect a *specific* installation --- its exact Open MPI version, build configuration, the MCA components that were compiled in, and the run-time tunables (MCA parameters) those components expose --- query the installation directly with the `ompi_info` command (listed in the man1 index above). That information is installation-specific, so it is not captured here. Version and configuration: - `ompi_info --version` prints the Open MPI version. - `ompi_info` with no arguments prints a human-readable summary: the version, the `./configure` command line, the compilers used, the enabled MPI language bindings, and the MCA components that were built. - `ompi_info --parsable` prints the same information in a stable, machine-readable `key:value` format (for example, an `ompi:version:full:...` line carries the exact version). Discovering MCA parameters: the available set depends on which components were built, so list them from the installation with ompi_info --all --parsable `--all` shows all configuration options and raises the MCA-parameter detail to the maximum (every "level", 1--9); by default only level-1 parameters are shown. The output is self-describing: each parameter emits one line per field, keyed `mca:::param:::`, for example: mca:btl:tcp:param:btl_tcp_if_include:value: mca:btl:tcp:param:btl_tcp_if_include:level:1 mca:btl:tcp:param:btl_tcp_if_include:help:Comma-delimited list ... mca:btl:tcp:param:btl_tcp_if_include:type:string Read the field names directly from the output: typical fields are the current `value`, its `source`, whether it is read-only (`status`), the verbosity `level`, the `help` text, the value `type`, whether it is `deprecated`, any `enumerator` values, and any `synonym_of` (an older name that still works). Setting MCA parameters: once you know a parameter's name, set it (highest precedence first) on the `mpirun` / `mpiexec` command line, in the environment, or in a parameter file: # command line (highest precedence): mpirun --mca btl tcp,self,sm -np 4 ./my_app # environment variable (prefix the parameter name with OMPI_MCA_): export OMPI_MCA_btl=tcp,self,sm # parameter file: one "name = value" per line in # $HOME/.openmpi/mca-params.conf (per user) or # $prefix/etc/openmpi-mca-params.conf (system-wide) PMIx and PRRTE (Open MPI's run-time dependencies) have their own MCA systems, set with the `--pmixmca` / `--prtemca` options and the `PMIX_MCA_` / `PRTE_MCA_` environment-variable prefixes (note the single "R" in `PRTE_MCA_`).