The Open MPI Team is pleased to release version 1.0.2 of Open MPI. This is primarily a bug-fix release. Version 1.0.2 can be downloaded from the main Open MPI web site or any of its mirrors (mirrors will be updating shortly).
Here are a list of changes in v1.0.2 as compared to v1.0.1: - Fixed assembly race condition on AMD64 platforms. - Fixed residual .TRUE. issue with copying MPI attributes set from Fortran. - Remove unnecessary logic from Solaris pty I/O forwarding. Thanks to Francoise Roch for bringing this to our attention. - Fixed error when count = 0 was given for multiple completion MPI functions (MPI_TESTSOME, MPI_TESTANY, MPI_TESTALL, MPI_WAITSOME, MPI_WAITANY, MPI_WAITALL). - Better handling in MPI_ABORT for when peer processes have already died, especially under some resource managers. - Random updates to README file, to include notes about the Portland compilers. - Random, small threading fixes to prevent deadlock. - Fixed a problem with handling long mpirun app files. Thanks to Ravi Manumachu for identifying the problem. - Fix handling of strings in several of the Fortran 77 bindings. - Fix LinuxPPC assembly issues. Thanks to Julian Seward for reporting the problem. - Enable pty support for standard I/O forwarding on platforms that have ptys but do not have openpty(). Thanks to Pierre Valiron for bringing this to our attention. - Disable inline assembly for PGI compilers to avoid compiler errors. Thanks to Troy Telford for bringing this to our attention. - Added MPI_UNSIGNED_CHAR and MPI_SIGNED_CHAR to the allowed reduction types. - Fix a segv in variable-length message displays on Opterons running Solaris. Thanks to Pierre Valiron for reporting the issue. - Added MPI_BOOL to the intrinsic reduction operations MPI_LAND, MPI_LOR, MPI_LXOR. Thanks to Andy Selle for pointing this out to us. - Fixed TCP BTL network matching logic during MPI_INIT; in some cases on multi-NIC nodes, a NIC could get paired with a NIC on another network (typically resulting in deadlock). Thanks to Ken Mighell for pointing this out to us. - Change the behavior of orterun (mpirun, mpirexec) to search for argv[0] and the cwd on the target node (i.e., the node where the executable will be running in all systems except BProc, where the searches are run on the node where orterun is invoked). - Fix race condition in shared memory transport that could cause crashes on machines with weak memory consistency models (including POWER/PowerPC machines). - Fix warnings about setting read-only MCA parameters on bproc systems. - Change the exit status set by mpirun when an application process is killed by a signal. The exit status is now set to signo + 128, which conforms with the behavior of (almost) all shells. - Correct a datatype problem with the convertor when partially unpacking data. Now we can position the convertor to any position not only on the predefined types boundaries. Thanks to Yvan Fournier for reporting this to us. - Fix a number of standard I/O forwarding issues, including the ability to background mpirun and a loss of data issue when redirecting mpirun's standard input from a file. - Fixed bug in ompi_info where rcache and bml MCA parameters would not be displayed. - Fixed umask issues in the session directory. Thanks to Glenn Morris for reporting this to us. - Fixed tcsh-based LD_LIBRARY_PATH issues with --prefix. Thanks to Glen Morris for identifying the problem and suggesting the fix. - Removed extraneous \n's when setting PATH and LD_LIBRARY_PATH in the rsh startup. Thanks to Glen Morris for finding these typos. - Fixed missing constants in MPI C++ bindings. - Fixed some errors caused by threading issues. - Fixed openib BTL flow control logic to not overrun the number of send wqes available. - Update to match newest OpenIB user-level library API. Thanks to Roland Dreier for submitting this patch. - Report errors properly when failing to register memory in the openib BTL. - Reduce memory footprint of openib BTL. - Fix parsing problem with mpirun's "-tv" switch. Thanks to Chris Gottbrath for supplying the fix. - Fix Darwin net/if.h configure warning. - The GNU assembler unbelievably defaults to making stacks executable. So when using gas, add flags to explicitly tell it to not make stacks executable (lame but necessary). - Add missing MPI::Request::Get_status() methods. Thanks to Bill Saphir for pointing this out to us. - Improved error messages on memory registration errors (e.g., when using high-speed networks). - Open IB support now checks firmware for how many outstanding RDMA requests are supported. Thanks to Mellanox for pointing this out to us. - Enable printing of stack traces in MPI processes upon SIGBUS, SIGSEGV, and SIGFPE if the platform supports it. - Fixed F90 compilation support for the Lahey compiler. - Fixed issues with ROMIO shared library support. - Fixed internal accounting problems with rsh support. - Update to GNU Libtool 1.5.22. - Fix error in configure script when setting CCAS to ias (the Intel assembler). - Added missing MPI::Intercomm collectives. - Fixed MPI_IN_PLACE handling for Fortran collectives. - Fixed some more C++ const_cast<> issues. Thanks for Martin Audet (again) for bringing this to our attention. - Updated ROMIO with the version from MPICH 1.2.7p1, marked as version 2005-06-09. - Fixes for some cases where the use of MPI_BOTTOM could cause problems. - Properly handle the case where an mVAPI does not have shared receive queue support (such as the one shipped by SilverStorm / Infinicon for OS X). -- Jeff Squyres Server Virtualization Business Unit Cisco Systems