3.4. General Run-Time Support Notes — Open MPI 5.0.0 documentation

# 3.4. General Run-Time Support Notes

- The Open MPI installation must be in your `PATH` on all nodes (and potentially `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH`, if `libmpi`/`libshmem` is a shared library), unless using the `--prefix` or `--enable-mpirun-prefix-by-default` functionality (see below).

- Open MPI’s run-time behavior can be customized via Modular Component Architecture (MCA) parameters (see this section) for more information on how to get/set MCA parameter values). Some MCA parameters can be set in a way that renders Open MPI inoperable. In particular, some parameters have required options that must be included:

  - If specified, the `btl` parameter must include the `self` component, or Open MPI will not be able to deliver messages to the same rank as the sender. For example: `mpirun --mca btl tcp,self ...`

  - If specified, the `btl_tcp_if_exclude` parameter must include the loopback device (`lo` on many Linux platforms), or Open MPI will not be able to route MPI messages using the TCP BTL. For example: `mpirun --mca btl_tcp_if_exclude lo,eth1 ...`

- Running on nodes with different endian and/or different datatype sizes within a single parallel job is supported in this release. However, Open MPI does not resize data when datatypes differ in size (for example, sending a 4 byte `MPI_DOUBLE` and receiving an 8 byte `MPI_DOUBLE` will fail).