Open MPI logo

Open MPI: Major User-Noticeable Changes Across Major Release Series

  |   Home   |   Support   |   FAQ   |  
The following are major user-noticeable changes across the major releases of Open MPI. Specifically, these are changes that may present an incompatibility vs. a prior version of Open MPI, or cause some other type of user-noticeable change in behavior.

v4.1.x series

The v4.1.x series introduced the following major feature enhancements compared to the v4.0.x series:

  1. The "OMPIO" module is now the default module for the MPI-IO APIs on all filesystems -- including Lustre.

    Prior to v4.1.0, OMPI was the default for all filesystems except Lustre (and the "ROMIO" module was the default for Lustre).

  2. AVX support was added for MPI collective reduction operations.
  3. Open MPI v4.1.x is ABI compatible with Open MPI 4.0.x.

v4.0.x series

The v4.0.x series introduced the following major changes compared to the v3.1.x series:

  1. Legacy MPI-1 symbols that were deprecated in MPI-2.0 in 1996 and then deleted from the MPI-3.0 specification in 2012 are no longer prototyped in mpi.h by default. This will almost certainly cause some legacy MPI applications to fail to compile.

    DO NOT FEAR! It is easy to fix such issues. See this FAQ category for more information, including:

    • How to upgrade your application to no longer use these legacy symbols, and/or what to ask your MPI application provider to do to update their MPI application.
    • How to re-enable these legacy MPI prototypes in Open MPI. WARNING: These legacy symbols may disappear in a future major release series of Open MPI!

  2. The use of InfiniBand with the openib BTL is now deprecated; the UCX PML is now the preferred method of InfiniBand support.

    • See this FAQ item for information on how to build Open MPI with UCX support.
    • See this FAQ item for information on how to run Open MPI jobs with UCX support.
    • In the Open MPI v4.0.x series, the openib BTL will still be used — by default — for RoCE and iWARP networks (although UCX works fine with these networks, too). Users can force the use of UCX for RoCE and iWARP networks, if desired (see this FAQ item).

  3. Open MPI v4.0.x is ABI compatible with Open MPI 3.0.x and v3.1.x.

    Even though Open MPI changed its major version from 3 to 4, it remains ABI-compatible with the v3.0.x and v3.1.x release series.

    Note that other backwards-incompatible changes occurred — e.g., some MCA parameter names and behaviors changed, some mpirun command line parameters changed, etc. Hence, Open MPI 4.0.x is not fully, 100% backwards-compatibile as defined by Open MPI's version number / backwards compatibility scheme, but it is ABI compatibile (which is what most users will notice).

  4. Open MPI now "prefers" external hwloc and libevent installations.

    Open MPI still embeds hwloc and libevent source code in its release packages, and will automatically use them if no suitable version is found when Open MPI is built. However, if a suitable external version of [hwloc] and/or [libevent] (and their corresponding development headers) is found on the system during Open MPI's configuration process, then Open MPI will ignore its embedded copy and use the system version, instead.