The Open MPI Team, representing a consortium of research, academic, and industry partners, is pleased to announce the release of Open MPI version 1.2. This release contains many bug fixes, feature enhancements, and performance improvements over the v1.1 series, including (but not limited to):
* Much improved MPI collective algorithms * General performance improvements throughout the entire code base * Much improved run-time support, particularly when dealing with error scenarios * Support for MPI-matching networks such as Myrinet MX and QLogic InfiniPath * New support for Sun platforms: Solaris, Sun Studio compilers, N1GE / Grid Engine resource managers, uDAPL networks * Tested with a variety of compilers on several platforms, including: GNU, Intel, Portland, Pathscale, Sun Studio * Improved support for heterogeneous execution environments to accommodate differences in CPU architectures and adapter capabilities Version 1.2 can be downloaded from the main Open MPI web site or any of its mirrors (mirrors will be updating shortly). We strongly recommend that all users upgrade to version 1.2 if possible. Here are a list of changes in v1.2 as compared to the soon to be released v1.1.5: - Fixed race condition in the shared memory fifo's, which led to orphaned messages. - Corrected the size of the shared memory file - subtracted out the space the header was occupying. - Add support for MPI_2COMPLEX and MPI_2DOUBLE_COMPLEX. - Always ensure to create $(includedir)/openmpi, even if the C++ bindings are disabled so that the wrapper compilers don't point to a directory that doesn't exist. Thanks to Martin Audet for identifying the problem. - Fixes for endian handling in MPI process startup. - Openib BTL initialization fixes for cases where MPI processes in the same job has different numbers of active ports on the same physical fabric. - Print more descriptive information when displaying backtraces on OS's that support this functionality, such as the hostname and PID of the process in question. - Fixes to properly handle MPI exceptions in C++ on communicators, windows, and files. - Much more reliable runtime support, particularly with regards to MPI job startup scalability, BProc support, and cleanup in failure scenarios (e.g., MPI_ABORT, MPI processes abnormally terminating, etc.). - Significant performance improvements for MPI collectives, particularly on high-speed networks. - Various fixes in the MX BTL component. - Fix C++ typecast problems with MPI_ERRCODES_IGNORE. Thanks to Satish Balay for bringing this to our attention. - Allow run-time specification of the maximum amount of registered memory for OpenFabrics and GM. - Users who utilize the wrapper compilers (e.g., mpicc and mpif77) will not notice, but the underlying library names for ORTE and OPAL have changed to libopen-rte and libopen-pal, respectively (listed here because there are undoubtedly some users who are not using the wrapper compilers). - Many bug fixes to MPI-2 one-sided support. - Added support for TotalView message queue debugging. - Fixes for MPI_STATUS_SET_ELEMENTS. - Print better error messages when mpirun's "-nolocal" is used when there is only one node available. - Added man pages for several Open MPI executables and the MPI API functions. - A number of fixes for Alpha platforms. - A variety of Fortran API fixes. - Build the Fortran MPI API as a separate library to allow these functions to be profiled properly. - Add new --enable-mpirun-prefix-by-default configure option to always imply the --prefix option to mpirun, preventing many rsh/ssh-based users from needing to modify their shell startup files. - Add a number of missing constants in the C++ bindings. - Added tight integration with Sun N1 Grid Engine (N1GE) 6 and the open source Grid Engine. - Allow building the F90 MPI bindings as shared libraries for most compilers / platforms. Explicitly disallow building the F90 bindings as shared libraries on OS X because of complicated situations with Fortran common blocks and lack of support for unresolved common symbols in shared libraries. - Added stacktrace support for Solaris and Mac OS X. - Update event library to libevent-1.1b. - Fixed standards conformance issues with MPI_ERR_TRUNCATED and setting MPI_ERROR during MPI_TEST/MPI_WAIT. - Addition of "cm" PML to better support library-level matching interconnects, with support for Myrinet/MX, and QLogic PSM-based networks. - Addition of "udapl" BTL for transport across uDAPL interconnects. - Really check that the $CXX given to configure is a C++ compiler (not a C compiler that "sorta works" as a C++ compiler). - Properly check for local host only addresses properly, looking for 127.0.0.0/8, rather than just 127.0.0.1.