The Open MPI Team, representing a consortium of research, academic, and industry partners, is pleased to announce the release of Open MPI version 1.7.4, the next feature release in the 1.7 series. This release includes several major new features plus numerous bug fixes:
* CRITICAL CHANGE
* As of release 1.7.4, OpenMPI's default mapping, ranking, and binding
* settings have changed:
* if #procs <= 2, default to map-by core
* if #procs > 2, default to map-by socket
* if default mapping is used, then default to rank-by slot
* if map-by <obj> is given, then default to rank-by <obj>,
* where <obj> is whatever object we mapped against
* default to bind-to core
* Users can override any of these settings individually using the
* corresponding MCA parameter. Note that multi-threaded applications
* in particular may want to override at least the binding default
* to allow threads to use multiple cores.
- Restore version number output in "ompi_info --all".
- Various bug fixes for the mpi_f08 Fortran bindings.
- Fix ROMIO compile error with Lustre 2.4. Thanks to Adam Moody for
reporting the issue.
- Various fixes for 32 bit platforms.
- Add ability to selectively disable building the mpi or mpi_f08
module. See the README file for details.
- Fix MX MTL finalization issue.
- Fix ROMIO issue when opening a file with MPI_MODE_EXCL.
- Fix PowerPC and MIPS assembly issues.
- Various fixes to the hcoll and FCA collective offload modules.
- Prevent integer overflow when creating datatypes. Thanks to
original patch from Gilles Gouaillardet.
- Port some upstream hwloc fixes to Open MPI's embedded copy for
working around buggy NUMA node cpusets and including mising header
files. Thanks to Jeff Becker and Paul Hargrove for reporting the
- Fix recursive invocation issues in the MXM MTL.
- Various bug fixes to the new MCA parameter back-end system.
- Have the posix fbtl module link against -laio on NetBSD platforms.
Thanks to Paul Hargrove for noticing the issue.
- Various updates and fixes to network filesystem detection to support
more operating systems.
- Add gfortran v4.9 "ignore TKR" syntax to the mpi Fortran module.
- Various compiler fixes for several BSD-based platforms. Thanks to
Paul Hargrove for reporting the issues.
- Fix when MPI_COMM_SPAWN[_MULTIPLE] is used on oversubscribed
- Change the output from --report bindings to simply state that a
process is not bound, instead of reporting that it is bound to all
- Per MPI-3.0 guidance, remove support for all MPI subroutines with
choice buffers from the TKR-based mpi Fortran module. Thanks to Jed
Brown for raising the issue.
- Only allow the usnic BTL to build on 64 bit platforms.
- Various bug fixes to SLURM support, to include ensuring proper
exiting on abnormal termination.
- Ensure that MPI_COMM_SPAWN[_MULTIPLE] jobs get the same mapping
directives that were used with mpirun.
- Fixed the application of TCP_NODELAY.
- Change the TCP BTL to not warn if a non-existent interface is
- Restored the "--bycore" mpirun option for backwards compatibility.
- Fixed debugger attach functionality. Thanks to Ashley Pittman for
reporting the issue and suggesting the fix.
- Fixed faulty MPI_IBCAST when invoked on a communicator with only
- Add new Mellanox device IDs to the openib BTL.
- Progress towards cleaning up various internal memory leaks as
reported by Valgrind.
- Fixed some annoying flex-generated warnings that have been there for
years. Thanks to Tom Fogal for the initial patch.
- Support user-provided environment variables via the "env" info key
to MPI_COMM_SPAWN[_MULTIPLE]. Thanks to Tom Fogal for the feature
- Fix uninitialized variable in MPI_DIST_GRAPH_CREATE.
- Fix a variety of memory errors on SPARC platforms. Thanks to
Siegmar Gross for reporting and testing all the issues.
- Remove Solaris threads support. When building on Solaris, pthreads
will be used.
- Correctly handle the convertor internal stack for persistent
receives. Thanks to Guillaume Gouaillardet for identifying the
- Add support for using an external libevent via --with-libevent. See
the README for more details.
- Various OMPIO updates and fixes.
- Add support for the MPIEXEC_TIMEOUT environment variable. If set,
mpirun will terminate the job after this many seconds.
- Update the internal copy of ROMIO to that which shipped in MPICH
- Various performance tweaks and improvements in the usnic BTL,
including now reporting MPI_T performance variables for each usnic
- Fix to not access send datatypes for non-root processes with
MPI_ISCATTER[V] and MPI_IGATHER[V]. Thanks to Pierre Jolivet for
supplying the initial patch.
- Update VampirTrace to 18.104.22.168.
- Fix ptmalloc2 hook disable when used with ummunotify.
- Change the default connection manager for the openib BTL to be based
on UD verbs data exchanges instead of ORTE OOB data exchanges.
- Fix Fortran compile error when compiling with 8-byte INTEGERs and
- Fix C++11 issue identified by Jeremiah Willcock.
- Many changes, updates, and bug fixes to the ORTE run-time layer.
- Correctly handle MPI_REDUCE_SCATTER with recvcounts of 0.
- Update man pages for MPI-3, and add some missing man pages for
- Updated mpi_f08 module in accordance with post-MPI-3.0 errata which
basically removed BIND(C) from all interfaces.
- Fixed MPI_IN_PLACE detection for MPI_SCATTER[V] in Fortran
routines. Thanks to Charles Gerlach for identifying the issue.
- Added support for routable RoCE to the openib BTL.
- Update embedded hwloc to v1.7.2.
- ErrMgr framework redesigned to better support fault tolerance development
activities. See the following RFC for details:
- Added database framework to OPAL and changed all modex operations
to flow thru it, also included additional system info in the
- Added staged state machine to support sequential work flows
- Added distributed file system support for accessing files across
nodes that do not have networked file systems
- Extended filem framework to support scalable pre-positioning of
files for use by applications, adding new "raw" component that
transmits files across the daemon network
- Native Windows support has been removed. A cygwin package is
available from that group for Windows-based use.
- Added new MPI Java bindings. See the Javadocs for more details on
- Wrapper compilers now add rpath support by default to generated
executables on systems that support it. This behavior can be
disabled via --disable-wrapper-rpath. See note in README about ABI
issues when using rpath in MPI applications.
- Added a new parallel I/O component and multiple new frameworks to
support parallel I/O operations.
- Fixed MPI_STATUS_SIZE Fortran issue when used with 8-byte Fortran
INTEGERs and 4-byte C ints. Since this issue affects ABI, it is
only enabled if Open MPI is configured with
--enable-abi-breaking-fortran-status-i8-fix. Thanks to Jim Parker
for supplying the initial patch.
- Add support for Intel Phi SCIF transport.
- For CUDA-aware MPI configured with CUDA 6.0, use new pointer
attribute to avoid extra synchronization in stream 0 when using
CUDA IPC between GPUs on the same node.
- For CUDA-aware MPI configured with CUDA 6.0, compile in support
of GPU Direct RDMA in openib BTL to improve small message latency.
- Updated ROMIO from MPICH v3.0.4.
- MPI-3: Added support for remaining non-blocking collectives.
- MPI-3: Added support for neighborhood collectives.
- MPI-3: Updated C bindings with consistent use of .
- MPI-3: Added the const keyword to read-only buffers.
- MPI-3: Added support for non-blocking communicator duplication.
- MPI-3: Added support for non-collective communicator creation.