Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana University Research and Technology Corporation. All rights reserved. Copyright (c) 2004-2006 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. Copyright (c) 2004-2006 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. Copyright (c) 2004-2006 The Regents of the University of California. All rights reserved. $COPYRIGHT$ Additional copyrights may follow $HEADER$ =========================================================================== This file contains the main features as well as overviews of specific bug fixes (and other actions) for each version of Open MPI since version 1.0. 1.1 --- - Open MPI is now configurable in cross-compilation environments. Several Fortran 77 and Fortran 90 tests need to be pre-seeded with results from a config.cache-like file. - Add --debug option to mpirun to generically invoke a parallel debugger. - Fix various MPI F90 interface functions and constant types to match. Thanks to Michael Kluskens for pointing out the problems to us. 1.0.2 ----- - 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). 1.0.1 ----- - Fixed assembly on Solaris AMD platforms. Thanks to Pierre Valiron for bringing this to our attention. - Fixed long messages in the send-to-self case. - Ensure that when the "leave_pinned" option is used, the memory hooks are also enabled. Thanks to Gleb Natapov for pointing this out. - Fixed compile errors for IRIX. - Allow hostfiles to have integer host names (for BProc clusters). - Fixed a problem with message matching of out-of-order fragments in multiple network device scenarios. - Converted all the C++ MPI bindings to use proper const_cast<>'s instead of old C-style casts to get rid of const-ness. Thanks to Martin Audet for raising the issue with us. - Converted MPI_Offset to be a typedef instead of a #define because it causes problems for some C++ parsers. Thanks to Martin Audet for bringing this to our attention. - Improved latency of TCP BTL. - Fixed index value in MPI_TESTANY to be MPI_UNDEFINED if some requests were not MPI_REQUEST_NULL, but no requests finished. - Fixed several Fortran MPI API implementations that incorrectly used integers instead of logicals or address-sized integers. - Fix so that Open MPI correctly handles the Fortran value for .TRUE., regardless of what the Fortran compiler's value for .TRUE. is. - Improved scalability of MX startup. - Fix datatype offset handling in the coll basic component's MPI_SCATTERV implementation. - Fix EOF handling on stdin. - Fix missing MPI_F_STATUS_IGNORE and MPI_F_STATUSES_IGNORE instanatiations. Thanks to Anthony Chan for pointing this out. - Add a missing value for MPI_WIN_NULL in mpif.h. - Bring over some fixes for the sm btl that somehow didn't make it over from the trunk before v1.0. Thanks to Beth Tibbitts and Bill Chung for helping identify this issue. - Bring over some fixes for the iof that somehow didn't make it over from the trunk before v1.0. - Fix for --with-wrapper-ldflags handling. Thanks to Dries Kimpe for pointing this out to us. 1.0 --- Initial public release.