Open MPI Changelog

What's new in Open MPI 1.7.4

Feb 7, 2014
  • Process affinity is now used by default.
  • Support was provided for all remaining MPI-3 functionality except MPI-3 one-sided semantics: all remaining non-blocking collectives, neighborhood collectives, const and [] array notation, non-blocking communicator duplication, and non-collective communicator creation.
  • SCIF communication support with the Intel Phi was added.
  • New Java MPI bindings were provided.
  • Bugs in the mpi_f08 module were fixed.
  • A newer version of ROMIO is used.
  • Many, many small bugs were fixed across the code base.

New in Open MPI 1.6.5 (Feb 6, 2014)

  • A number of bugfixes were back-ported, including the MPI_IPROBE output flag, possible MXM MTL data corruption, the contiguous datatype memory check, some MPI datatype engine issues, INI values for Intel Phi and Chelsio T5 devices, and errant "MPI already finalized" messages when calling MPI_FILE_CLOSE.

New in Open MPI 1.6.4 (Feb 28, 2013)

  • Performance improvements over IB, various fixes for Cygwin, rankfiles, and Solaris process binding (including better error messages), updates of MX to 2.0, VT to 5.14.2.3, and FCA to v3.0+, fixes for --without-hwloc and external libltdl support, updated compiler flags for ARM systems, a fix for a memory leak in one-sided operations, and malloc hooks that are more friendly to IO interposers.
  • Direct launch under SLURM without PMI was restored, and SLURM lib64 support was fixed.
  • MPI datatype and header file issues on OpenBSD were fixed.
  • TYPE_CREATE_F90_REAL and ALLGATHER support in FCA was fixed.
  • The "use mpi" ABI with v1.5/v1.6 series was restored.

New in Open MPI 1.6.3 (Nov 1, 2012)

  • Minor bugfixes

New in Open MPI 1.6.2 (Sep 26, 2012)

  • This version fixes an issue with MX MTL, singleton MPI_COMM_SPAWN when the result job spans multiple nodes, an MXM hang (update for latest version of MXM), a startup hang for large jobs, MPI_TESTANY/WAITANY when count==0, MPI_CART_SUB periods in the new communicator, and a VampirTrace compilation issue with the PGI compiler suite.
  • It supports Mellanox FCA 2.5, lets the btl_openib_abort_not_enough_reg_mem MCA parameter abort MPI jobs if there's not enough registered memory available, and makes the Fortran MPI_INFO_GET only copy back to the user's buffer if the flag is .TRUE.

New in Open MPI 1.6.1 (Aug 23, 2012)

  • This version fixes hangs on OpenFabrics-based networks, fixes a double semicolon error in the C++ in , allows -Xclang to be specified multiple times, switches the ALLTOALLV default algorithm, increases the default OpenFabrics CQ length, upgrades VampirTrace to v5.13.0.4, adds various MXM improvements, prettyprints the "mpirun --report-bindings" output, properly handles MPI_COMPLEX8|16|32, adds more fixes for mpirun's affinity options, adds multiple fixes for parameter checking in gather/scatter functions, fixes file positioning overflows in MPI_FILE_* functions, removes the --cpu-set mpirun option, and fixes the default hostfile location.

New in Open MPI 1.5.3 (Mar 17, 2011)

  • This version adds the missing "affinity" MPI extension (i.e. the OMPI_Affinity_str() API) that was accidentally left out of the 1.5.2 release.

New in Open MPI 1.5 (Oct 12, 2010)

  • Knem support was added.
  • Shared library versioning and linking style were updated; the ABI has been broken since the v1.4 series.
  • Support for MPI collective offload was added. MPI_GET_COUNT was fixed when used with large counts.
  • OpenFabrics was made safer if extremely low SRQ settings are used.
  • Various Fortran bindings were fixed.
  • LSF updates were made.
  • Various assembly code updates were done for modern platforms/compilers.
  • Various *BSD fixes were made.
  • The embedded libevent and VampirTrace were updated.
  • Various MS Windows and Catamount fixes were made.
  • Lots of checkpoint/restart fixes were made.
  • Xgrid support has been dropped.
  • Pkg-config support was added.

New in Open MPI 1.4.3 (Oct 7, 2010)

  • Fixes problems with some Fortran bindings.
  • Fixes for LSF and BSD.
  • Fixes for various THREAD_MULTIPLE race conditions and -nper* mpirun CLI args.
  • Fixes for coll tuned dynamic rules and one-sided xfers with >2GB displacement.
  • A fix for TotalView on Darwin.
  • Support for VS 2010.
  • Multiple fixes for VampirTrace.
  • Fixes for inter-allgather and malloc(0) warnings.
  • A fix for an orted crash with more than 127 app_contexts.
  • The need for paffinity and a limit of 64 interconnected jobs has been removed.
  • Singletons can use ompi-server.
  • Handles MX init failures.
  • A fix for an incorrect branch in PPC32 assembly.
  • New IB HCA vendor IDs.

New in Open MPI 1.3.4 (Dec 2, 2009)

  • Fix some issues in OMPI's SRPM with regard to shell_scripts_basename and its use with mpi-selector. Thanks to Bill Johnstone for pointing out the problem.
  • Added many new MPI job process affinity options to mpirun. See the newly-updated mpirun(1) man page for details.
  • Several updates to mpirun's XML output.
  • Update to fix a few Valgrind warnings with regards to the ptmalloc2 allocator and Open MPI's use of PLPA.
  • Many updates and fixes to the (non-default) "sm" collective component (i.e., native shared memory MPI collective operations).
  • Updates and fixes to some MPI_COMM_SPAWN_MULTIPLE corner cases.
  • Fix some internal copying functions in Open MPI's use of PLPA.
  • Correct some SLURM nodelist parsing logic that may have interfered with large jobs. Additionally, per advice from the SLURM team, change the environment variable that we use for obtaining the job's allocation.
  • Revert to an older, safer (but slower) communicator ID allocation algorithm.
  • Fixed minimum distance finding for OpenFabrics devices in the openib BTL.
  • Relax the parameter checking MPI_CART_CREATE a bit.
  • Fix MPI_COMM_SPAWN[_MULTIPLE] to only error-check the info arguments on the root process. Thanks to Federico Golfre Andreasi for reporting the problem.
  • Fixed some BLCR configure issues.
  • Fixed a potential deadlock when the openib BTL was used with MPI_THREAD_MULTIPLE.
  • Fixed dynamic rules selection for the "tuned" coll component.
  • Added a launch progress meter to mpirun (useful for large jobs; set the orte_report_launch_progress MCA parameter to 1 to see it).
  • Reduced the number of file descriptors consumed by each MPI process.
  • Add new device IDs for Chelsio T3 RNICs to the openib BTL config file.
  • Fix some CRS self component issues.
  • Added some MCA parameters to the PSM MTL to tune its run-time behavior.
  • Fix some VT issues with MPI_BOTTOM/MPI_IN_PLACE.
  • Man page updates from the Debain Open MPI package maintainers.
  • Add cycle counter support for the Alpha and Sparc platforms.
  • Pass visibility flags to libltdl's configure script, resulting in those symbols being hidden. This appears to mainly solve the problem of applications attempting to use different versions of libltdl from that used to build Open MPI.

New in Open MPI 1.3.2 (Apr 23, 2009)

  • Fixed a potential infinite loop in the openib BTL that could occur in senders in some frequent-communication scenarios. Thanks to Don Wood for reporting the problem.
  • Add a new checksum PML variation on ob1 (main MPI point-to-point communication engine) to detect memory corruption in node-to-node messages
  • Add a new configuration option to add padding to the openib header so the data is aligned
  • Add a new configuration option to use an alternative checksum algo when using the checksum PML
  • Fixed a problem reported by multiple users on the mailing list that the LSF support would fail to find the appropriate libraries at run-time.
  • Allow empty shell designations from getpwuid(). Thanks to Sergey Koposov for the bug report.
  • Ensure that mpirun exits with non-zero status when applications die due to user signal. Thanks to Geoffroy Pignot for suggesting the fix.
  • Ensure that MPI_VERSION / MPI_SUBVERSION match what is returned by MPI_GET_VERSION. Thanks to Rob Egan for reporting the error.
  • Updated MPI_*KEYVAL_CREATE functions to properly handle Fortran extra state.
  • A variety of ob1 (main MPI point-to-point communication engine) bug fixes that could have caused hangs or seg faults.
  • Do not install Open MPI's signal handlers in MPI_INIT if there are already signal handlers installed. Thanks to Kees Verstoep for bringing the issue to our attention.
  • Fix GM support to not seg fault in MPI_INIT.
  • Various VampirTrace fixes.
  • Various PLPA fixes.
  • No longer create BTLs for invalid (TCP) devices.
  • Various man page style and lint cleanups.
  • Fix critical OpenFabrics-related bug
  • Open MPI now uses a much more robust memory intercept scheme that is quite similar to what is used by MX. The use of "-lopenmpi-malloc" is no longer necessary, is deprecated, and is expected to disappear in a future release. -lopenmpi-malloc will continue to work for the duration of the Open MPI v1.3 and v1.4 series.
  • Fix some OpenFabrics shutdown errors, both regarding iWARP and SRQ.
  • Allow the udapl BTL to work on Solaris platforms that support relaxed PCI ordering.
  • Fix problem where the mpirun would sometimes use rsh/ssh to launch on the localhost (instead of simply forking).
  • Minor SLURM stdin fixes.
  • Fix to run properly under SGE jobs.
  • Scalability and latency improvements for shared memory jobs: convert to using one message queue instead of N queues.
  • Automatically size the shared-memory area (mmap file) to match better what is needed; specifically, so that large-np jobs will start.
  • Use fixed-length MPI predefined handles in order to provide ABI compatibility between Open MPI releases.
  • Fix building of the posix paffinity component to properly get the number of processors in loosely tested environments (e.g., FreeBSD). Thanks to Steve Kargl for reporting the issue.
  • Fix --with-libnuma handling in configure. Thanks to Gus Correa for reporting the problem.

New in Open MPI 1.3.1 (Mar 20, 2009)

  • Various fixes were made for checkpoint/restart and binary pre-loading functionality. mpirun is now guaranteed to exit with a nonzero status if an error occurs. MPI_FILE_C2F was fixed to return 0 instead of -1.
  • Various patches were incorporated from Debian Open MPI package maintainers.
  • MPI::SEEK_* constant handling was improved.
  • mpirun's -wdir switch was fixed with multiple app contexts.
  • A limited ability to SIGTSTP and SIGCONT MPI jobs was added.
  • Fixes were made for Intel (NetEffect) RNIC behavior.
  • Some corner cases when sizeof(int) != sizeof(Fortran INTEGER) were fixed.
  • Some race conditions with SLURM were fixed, and the plugin build of the PBS/Torque support was fixed.
  • Several problems with stdin/stdout/stderr forwarding were fixed.
  • A hang/deadlock in some IB "GET" message passing patterns was fixed.
  • A case where datatypes with prefix gaps were considered contiguous was corrected.
  • Various compile errors with VampirTrace and some esoteric platforms were fixed.
  • The default values of IB and RNR timeouts were increased.
  • An option to synchronize every N collective operations was added.

New in Open MPI 1.3 (Feb 9, 2009)

  • MPI-2.1 is now supported. Support was added for new architectures, OS versions, and batch schedulers.
  • Thread safety support has been improved.
  • The C++ bindings have been improved.
  • Valgrind memory-checking support was integrated.
  • ROMIO was updated to the version shipped in MPICH2 v1.0.7.
  • The scalability of parallel launch was significantly improved.
  • Point-to-point latency was reduced.
  • Support for iWARP devices was added.
  • Numerous other enhancements were made for OpenFabrics-based networks, such as much better utilization of registered memory.
  • Support for checkpoint/restart fault tolerance was added.

New in Open MPI 1.2.7 (Sep 9, 2008)

  • The Fortran 90 binding for MPI_CART_GET was fixed.
  • Spurious ROMIO/IO warnings were removed.
  • A bug was fixed to ensure command line MCA parameters always override environment-set MCA parameters.
  • A bug in AMD64 assembly was fixed.
  • Intercommunicator gather/scatter was fixed.
  • More man page fixes were made.
  • An openib BTL check is done to see if devices are present before activating itself.
  • More vendor IDs were added for InfiniBand HCAs.