3.2. General notes

The following list of release notes applies to this code base as of this writing:

  • Open MPI now includes two public software layers: MPI and OpenSHMEM. Throughout this document, references to Open MPI implicitly include both of these layers. When distinction between these two layers is necessary, we will reference them as the “MPI” and “OpenSHMEM” layers respectively.

  • OpenSHMEM is a collaborative effort between academia, industry, and the U.S. Government to create a specification for a standardized API for parallel programming in the Partitioned Global Address Space (PGAS). For more information about the OpenSHMEM project, including access to the current OpenSHMEM specification, please visit http://openshmem.org/.

    Note

    This OpenSHMEM implementation will only work in Linux environments with a restricted set of supported networks.

  • Open MPI includes support for a wide variety of supplemental hardware and software packages. When configuring Open MPI, you may need to supply additional flags to the configure script in order to tell Open MPI where the header files, libraries, and any other required files are located. As such, running configure by itself may not include support for all the devices (etc.) that you expect, especially if their support headers / libraries are installed in non-standard locations. Network interconnects are an easy example to discuss — Libfabric and OpenFabrics networks, for example, both have supplemental headers and libraries that must be found before Open MPI can build support for them. You must specify where these files are with the appropriate options to configure. See the listing of configure command-line switches, below, for more details.

  • The majority of Open MPI’s documentation is here in this document. The man pages are also installed by default.

  • Note that Open MPI documentation uses the word “component” frequently; the word “plugin” is probably more familiar to most users. As such, end users can probably completely substitute the word “plugin” wherever you see “component” in our documentation. For what it’s worth, we use the word “component” for historical reasons, mainly because it is part of our acronyms and internal API function calls.

  • Open MPI has taken some steps towards Reproducible Builds. Specifically, Open MPI’s configure and make process, by default, records the build date and some system-specific information such as the hostname where Open MPI was built and the username who built it. If you desire a Reproducible Build, set the $SOURCE_DATE_EPOCH, $USER and $HOSTNAME environment variables before invoking configure and make, and Open MPI will use those values instead of invoking whoami and/or hostname, respectively. See https://reproducible-builds.org/docs/source-date-epoch/ for information on the expected format and content of the $SOURCE_DATE_EPOCH variable.