aaae28b6c7
This commit was SVN r19646.
866 строки
41 KiB
Plaintext
866 строки
41 KiB
Plaintext
Copyright (c) 2004-2008 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-2008 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 (c) 2006-2008 Cisco Systems, Inc. All rights reserved.
|
|
Copyright (c) 2006 Voltaire, Inc. All rights reserved.
|
|
Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
|
|
Use is subject to license terms.
|
|
Copyright (c) 2006-2007 Los Alamos National Security, LLC. 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.
|
|
|
|
Trunk (not on release branches yet)
|
|
-----------------------------------
|
|
|
|
- Added Cray Compute Node Linux (CNL) and ALPS Support.
|
|
--> Expected: ???
|
|
- Added Microsoft Windows support. See README.WINDOWS file for
|
|
details.
|
|
--> Expected: ???
|
|
|
|
1.3 (not released yet)
|
|
---
|
|
|
|
- Added "notify debugger on abort" feature. See tickets #1509 and #1510.
|
|
Thanks to Seppo Sahrakropi for the bug report.
|
|
- Upgraded Open MPI tarballs to use Autoconf 2.63, Automake 1.10.1,
|
|
Libtool 2.2.6a.
|
|
- Added missing MPI::Comm::Call_errhandler() function. Thanks to Dave
|
|
Goodell for bringing this to our attention.
|
|
- Increased MPI_SUBVERSION value in mpi.h to 1 (i.e., MPI 2.1).
|
|
- Changed behavior of MPI_GRAPH_CREATE, MPI_TOPO_CREATE, and several
|
|
other topology functions per MPI-2.1.
|
|
- Fix the type of the C++ constant MPI::IN_PLACE.
|
|
- Various enhancements to the openib BTL:
|
|
- Added btl_openib_if_[in|ex]clude MCA parameters for
|
|
including/excluding comma-delimited lists of HCAs and ports.
|
|
- Added RDMA CM support, includng btl_openib_cpc_[in|ex]clude MCA
|
|
parameters
|
|
- Added NUMA support to only use "near" network adapters
|
|
- Added "Bucket SRQ" (BSRQ) support to better utilize registered
|
|
memory, including btl_openib_receive_queues MCA parameter
|
|
- Added ConnectX XRC support (and integrated with BSRQ)
|
|
- Added btl_openib_ib_max_inline_data MCA parameter
|
|
- Added iWARP support
|
|
- Revamped flow control mechansisms to be more efficient
|
|
- "mpi_leave_pinned=1" is now the default when possible,
|
|
automatically improving performance for large messages when
|
|
application buffers are re-used
|
|
- Elimiated duplicated error messages when multiple MPI processes fail
|
|
with the same error.
|
|
- Added NUMA support to the shared memory BTL.
|
|
- Add Valgrind-based memory checking for MPI-semantic checks.
|
|
- Add support for some optional Fortran datatypes (MPI_LOGICAL1,
|
|
MPI_LOGICAL2, MPI_LOGICAL4 and MPI_LOGICAL8).
|
|
- Remove the use of the STL from the C++ bindings.
|
|
- Added support for Platform/LSF job launchers. Must be Platform LSF
|
|
v7.0.2 or later.
|
|
- Updated ROMIO with the version from MPICH2 1.0.7.
|
|
- Added RDMA capable one-sided component (called rdma), which
|
|
can be used with BTL components that expose a full one-sided
|
|
interface.
|
|
- Added the optional datatype MPI_REAL2. As this is added to the "end of"
|
|
predefined datatypes in the fortran header files, there will not be
|
|
any compatibility issues.
|
|
- Added Portable Linux Processor Affinity (PLPA) for Linux.
|
|
- Addition of a finer symbols export control via the visibiliy feature
|
|
offered by some compilers.
|
|
- Added checkpoint/restart process fault tolerance support. Initially
|
|
support a LAM/MPI-like protocol.
|
|
- Removed "mvapi" BTL; all InfiniBand support now uses the OpenFabrics
|
|
driver stacks ("openib" BTL).
|
|
- Added more stringent MPI API parameter checking to help user-level
|
|
debugging.
|
|
- The ptmalloc2 memory manager component is now by default built as
|
|
a standalone library named libopenmpi-malloc. Users wanting to
|
|
use leave_pinned with ptmalloc2 will now need to link the library
|
|
into their application explicitly. All other users will use the
|
|
libc-provided allocator instead of Open MPI's ptmalloc2. This change
|
|
may be overriden with the configure option enable-ptmalloc2-internal
|
|
- The leave_pinned options will now default to using mallopt on
|
|
Linux in the cases where ptmalloc2 was not linked in. mallopt
|
|
will also only be available if munmap can be intercepted (the
|
|
default whenever Open MPI is not compiled with --without-memory-
|
|
manager.
|
|
- Open MPI will now complain and refuse to use leave_pinned if
|
|
no memory intercept / mallopt option is available.
|
|
- Add option of using Perl-based wrapper compilers instead of the
|
|
C-based wrapper compilers. The Perl-based version does not
|
|
have the features of the C-based version, but does work better
|
|
in cross-compile environments.
|
|
|
|
|
|
1.2.8 (not released yet...)
|
|
-----
|
|
|
|
- Fix the MPIR_Proctable to be in process rank order. See ticket #1529.
|
|
- Fix a regession introduced in 1.2.6 for the IBM eHCA. See ticket #1526.
|
|
|
|
|
|
1.2.7
|
|
-----
|
|
|
|
- Add some Sun HCA vendor IDs. See ticket #1461.
|
|
- Fixed a memory leak in MPI_Alltoallw when called from Fortran.
|
|
Thanks to Dave Grote for the bugreport. See ticket #1457.
|
|
- Only link in libutil when it is needed/desired. Thanks to
|
|
Brian Barret for diagnosing and fixing the problem. See ticket #1455.
|
|
- Update some QLogic HCA vendor IDs. See ticket #1453.
|
|
- Fix F90 binding for MPI_CART_GET. Thanks to Scott Beardsley for
|
|
bringing it to our attention. See ticket #1429.
|
|
- Remove a spurious warning message generated in/by ROMIO. See ticket #1421.
|
|
- Fix a bug where command-line MCA parameters were not overriding
|
|
MCA parameters set from environment variables. See ticket #1380.
|
|
- Fix a bug in the AMD64 atomics assembly. Thanks to Gabriele Fatigati
|
|
for the bug report and bugfix. See ticket #1351.
|
|
- Fix a gather and scatter bug on intercommunicators when the datatype
|
|
being moved is 0 bytes. See ticket #1331.
|
|
- Some more man page fixes from the Debian maintainers.
|
|
See tickets #1324 and #1329.
|
|
- Have openib BTL (OpenFabrics support) check for the presence of
|
|
/sys/class/infiniband before allowing itself to be used. This check
|
|
prevents spurious "OMPI did not find RDMA hardware!" notices on
|
|
systems that have the software drivers installed, but no
|
|
corresponding hardware. See tickets #1321 and #1305.
|
|
- Added vendor IDs for some ConnectX openib HCAs. See ticket #1311.
|
|
- Fix some RPM specfile inconsistencies. See ticket #1308.
|
|
Thanks to Jim Kusznir for noticing the problem.
|
|
- Removed an unused function prototype that caused warnings on
|
|
some systems (e.g., OS X). See ticket #1274.
|
|
- Fix a deadlock in inter-communicator scatter/gather operations.
|
|
Thanks to Martin Audet for the bug report. See ticket #1268.
|
|
|
|
|
|
1.2.6
|
|
-----
|
|
|
|
- Fix a bug in the inter-allgather for asymmetric inter-communicators.
|
|
Thanks to Martin Audet for the bug report. See ticket #1247.
|
|
- Fix a bug in the openib BTL when setting the CQ depth. Thanks
|
|
to Jon Mason for the bug report and fix. See ticket #1245.
|
|
- On Mac OS X Leopard, the execinfo component will be used for
|
|
backtraces, making for a more durable solution. See ticket #1246.
|
|
- Added vendor IDs for some QLogic DDR openib HCAs. See ticket #1227.
|
|
- Updated the URL to get the latest config.guess and config.sub files.
|
|
Thanks to Ralf Wildenhues for the bug report. See ticket #1226.
|
|
- Added shared contexts support to PSM MTL. See ticket #1225.
|
|
- Added pml_ob1_use_early_completion MCA parameter to allow users
|
|
to turn off the OB1 early completion semantic and avoid "stall"
|
|
problems seen on InfiniBand in some cases. See ticket #1224.
|
|
- Sanitized some #define macros used in mpi.h to avoid compiler warnings
|
|
caused by MPI programs built with different autoconf versions.
|
|
Thanks to Ben Allan for reporting the problem, and thanks to
|
|
Brian Barrett for the fix. See ticket #1220.
|
|
- Some man page fixes from the Debian maintainers. See ticket #1219.
|
|
- Made the openib BTL a bit more resilient in the face of driver
|
|
errors. See ticket #1217.
|
|
- Fixed F90 interface for MPI_CART_CREATE. See ticket #1208.
|
|
Thanks to Michal Charemza for reporting the problem.
|
|
- Fixed some C++ compiler warnings. See ticket #1203.
|
|
- Fixed formatting of the orterun man page. See ticket #1202.
|
|
Thanks to Peter Breitenlohner for the patch.
|
|
|
|
|
|
1.2.5
|
|
-----
|
|
|
|
- Fixed compile issue with open() on Fedora 8 (and newer) platforms.
|
|
Thanks to Sebastian Schmitzdorff for noticing the problem.
|
|
- Added run-time warnings during MPI_INIT when MPI_THREAD_MULTIPLE
|
|
and/or progression threads are used (the OMPI v1.2 series does not
|
|
support these well at all).
|
|
- Better handling of ECONNABORTED from connect on Linux. Thanks to
|
|
Bob Soliday for noticing the problem; thanks to Brian Barrett for
|
|
submitting a patch.
|
|
- Reduce extraneous output from OOB when TCP connections must
|
|
be retried. Thanks to Brian Barrett for submitting a patch.
|
|
- Fix for ConnectX devices and OFED 1.3. See ticket #1190.
|
|
- Fixed a configure problem for Fortran 90 on Cray systems. Ticket #1189.
|
|
- Fix an uninitialized variable in the error case in opal_init.c.
|
|
Thanks to Ake Sandgren for pointing out the mistake.
|
|
- Fixed a hang in configure if $USER was not defined. Thanks to
|
|
Darrell Kresge for noticing the problem. See ticket #900.
|
|
- Added support for parallel debuggers even when we have an optimized build.
|
|
See ticket #1178.
|
|
- Worked around a bus error in the Mac OS X 10.5.X (Leopard) linker when
|
|
compiling Open MPI with -g. See ticket #1179.
|
|
- Removed some warnings about 'rm' from Mac OS X 10.5 (Leopard) builds.
|
|
- Fix the handling of mx_finalize(). See ticket #1177.
|
|
Thanks to Ake Sandgren for bringing this issue to our attention.
|
|
- Fixed minor file descriptor leak in the Altix timer code. Thanks to
|
|
Paul Hargrove for noticing the problem and supplying the fix.
|
|
- Fix a problem when using a different compiler for C and Objective C.
|
|
See ticket #1153.
|
|
- Fix segfault in MPI_COMM_SPAWN when the user specified a working
|
|
directory. Thanks to Murat Knecht for reporting this and suggesting
|
|
a fix.
|
|
- A few manpage fixes from the Debian Open MPI maintainers. Thanks to
|
|
Tilman Koschnick, Sylvestre Ledru, and Dirk Eddelbuettel.
|
|
- Fixed issue with pthread detection when compilers are not all
|
|
from the same vendor. Thanks to Ake Sandgren for the bug
|
|
report. See ticket #1150.
|
|
- Fixed vector collectives in the self module. See ticket #1166.
|
|
- Fixed some data-type engine bugs: an indexing bug, and an alignment bug.
|
|
See ticket #1165.
|
|
- Only set the MPI_APPNUM attribute if it is defined. See ticket
|
|
#1164.
|
|
|
|
|
|
1.2.4
|
|
-----
|
|
|
|
- Really added support for TotalView/DDT parallel debugger message queue
|
|
debugging (it was mistakenly listed as "added" in the 1.2 release).
|
|
- Fixed a build issue with GNU/kFreeBSD. Thanks to Petr Salinger for
|
|
the patch.
|
|
- Added missing MPI_FILE_NULL constant in Fortran. Thanks to
|
|
Bernd Schubert for bringing this to our attention.
|
|
- Change such that the UDAPL BTL is now only built in Linux when
|
|
explicitly specified via the --with-udapl configure command line
|
|
switch.
|
|
- Fixed an issue with umask not being propagated when using the TM
|
|
launcher.
|
|
- Fixed behavior if number of slots is not the same on all bproc nodes.
|
|
- Fixed a hang on systems without GPR support (ex. Cray XT3/4).
|
|
- Prevent users of 32-bit MPI apps from requesting >= 2GB of shared
|
|
memory.
|
|
- Added a Portals MTL.
|
|
- Fix 0 sized MPI_ALLOC_MEM requests. Thanks to Lisandro Dalcin for
|
|
pointing out the problem.
|
|
- Fixed a segfault crash on large SMPs when doing collectives.
|
|
- A variety of fixes for Cray XT3/4 class of machines.
|
|
- Fixed which error handler is used when MPI_COMM_SELF is passed
|
|
to MPI_COMM_FREE. Thanks to Lisandro Dalcini for the bug report.
|
|
- Fixed compilation on platforms that don't have hton/ntoh.
|
|
- Fixed a logic problem in the fortran binding for MPI_TYPE_MATCH_SIZE.
|
|
Thanks to Jeff Dusenberry for pointing out the problem and supplying
|
|
the fix.
|
|
- Fixed a problem with MPI_BOTTOM in various places of the f77-interface.
|
|
Thanks to Daniel Spangberg for bringing this up.
|
|
- Fixed problem where MPI-optional Fortran datatypes were not
|
|
correctly initialized.
|
|
- Fixed several problems with stdin/stdout forwarding.
|
|
- Fixed overflow problems with the sm mpool MCA parameters on large SMPs.
|
|
- Added support for the DDT parallel debugger via orterun's --debug
|
|
command line option.
|
|
- Added some sanity/error checks to the openib MCA parameter parsing
|
|
code.
|
|
- Updated the udapl BTL to use RDMA capabilities.
|
|
- Allow use of the BProc head node if it was allocated to the user.
|
|
Thanks to Sean Kelly for reporting the problem and helping debug it.
|
|
- Fixed a ROMIO problem where non-blocking I/O errors were not properly
|
|
reported to the user.
|
|
- Made remote process launch check the $SHELL environment variable if
|
|
a valid shell was not otherwise found for the user.
|
|
Thanks to Alf Wachsmann for the bugreport and suggested fix.
|
|
- Added/updated some vendor IDs for a few openib HCAs.
|
|
- Fixed a couple of failures that could occur when specifying devices
|
|
for use by the OOB.
|
|
- Removed dependency on sysfsutils from the openib BTL for
|
|
libibverbs >=v1.1 (i.e., OFED 1.2 and beyond).
|
|
|
|
|
|
1.2.3
|
|
-----
|
|
|
|
- Fix a regression in comm_spawn functionality that inadvertently
|
|
caused the mapping of child processes to always start at the same
|
|
place. Thanks to Prakash Velayutham for helping discover the
|
|
problem.
|
|
- Fix segfault when a user's home directory is unavailable on a remote
|
|
node. Thanks to Guillaume Thomas-Collignon for bringing the issue
|
|
to our attention.
|
|
- Fix MPI_IPROBE to properly handle MPI_STATUS_IGNORE on mx and psm
|
|
MTLs. Thanks to Sophia Corwell for finding this and supplying a
|
|
reproducer.
|
|
- Fix some error messages in the tcp BTL.
|
|
- Use _NSGetEnviron instead of environ on Mac OS X so that there
|
|
are no undefined symbols in the shared libraries.
|
|
- On OS X, when MACOSX_DEPLOYMENT_TARGET is 10.3 or higher, support
|
|
building the Fortran 90 bindings as a shared library. Thanks to
|
|
Jack Howarth for his advice on making this work.
|
|
- No longer require extra include flag for the C++ bindings.
|
|
- Fix detection of weak symbols support with Intel compilers.
|
|
- Fix issue found by Josh England: ompi_info would not show framework
|
|
MCA parameters set in the environment properly.
|
|
- Rename the oob_tcp_include/exclude MCA params to oob_tcp_if_include/exclude
|
|
so that they match the naming convention of the btl_tcp_if_include/exclude
|
|
params. The old names are depreciated, but will still work.
|
|
- Add -wd as a synonym for the -wdir orterun/mpirun option.
|
|
- Fix the mvapi BTL to compile properly with compilers that do not support
|
|
anonymous unions. Thanks to Luis Kornblueh for reporting the bug.
|
|
|
|
|
|
1.2.2
|
|
-----
|
|
|
|
- Fix regression in 1.2.1 regarding the handling of $CC with both
|
|
absolute and relative path names.
|
|
- Fix F90 array of status dimensions. Thanks to Randy Bramley for
|
|
noticing the problem.
|
|
- Add btl_openib_ib_pkey_value MCA parameter for controlling IB port selection.
|
|
- Fixed a variety of threading/locking bugs.
|
|
- Fixed some compiler warnings associated with ROMIO, OS X, and gridengine.
|
|
- If pbs-config can be found, use it to look for TM support. Thanks
|
|
to Bas van der Vlies for the inspiration and preliminary work.
|
|
- Fixed a deadlock in orterun when the rsh PLS encounters some errors.
|
|
|
|
|
|
1.2.1
|
|
-----
|
|
|
|
- Fixed a number of connection establishment errors in the TCP out-
|
|
of-band messaging system.
|
|
- Fixed a memory leak when using mpi_comm calls.
|
|
Thanks to Bas van der Vlies for reporting the problem.
|
|
- Fixed various memory leaks in OPAL and ORTE.
|
|
- Improved launch times when using TM (PBS Pro, Torque, Open PBS).
|
|
- Fixed mpi_leave_pinned to work for all datatypes.
|
|
- Fix functionality allowing users to disable sbrk() (the
|
|
mpool_base_disable_sbrk MCA parameter) on platforms that support it.
|
|
- Fixed a pair of problems with the TCP "listen_thread" mode for the
|
|
oob_tcp_listen_mode MCA parameter that would cause failures when
|
|
attempting to launch applications.
|
|
- Fixed a segfault if there was a failure opening a BTL MX endpoint.
|
|
- Fixed a problem with mpirun's --nolocal option introduced in 1.2.
|
|
- Re-enabled MPI_COMM_SPAWN_MULTIPLE from singletons.
|
|
- LoadLeveler and TM configure fixes, Thanks to Martin Audet for the
|
|
bug report.
|
|
- Various C++ MPI attributes fixes.
|
|
- Fixed issues with backtrace code on 64 bit Intel & PPC OS X builds.
|
|
- Fixed issues with multi-word CC variables and libtool.
|
|
Thanks to Bert Wesarg for the bug reports.
|
|
- Fix issue with non-uniform node naming schemes in SLURM.
|
|
- Fix file descriptor leak in the Grid Engine/N1GE support.
|
|
- Fix compile error on OS X 10.3.x introduced with Open MPI 1.1.5.
|
|
- Implement MPI_TYPE_CREATE_DARRAY function (was in 1.1.5 but not 1.2).
|
|
- Recognize zsh shell when using rsh/ssh for launching MPI jobs.
|
|
- Ability to set the OPAL_DESTDIR or OPAL_PREFIX environment
|
|
variables to "re-root" an existing Open MPI installation.
|
|
- Always include -I for Fortran compiles, even if the prefix is
|
|
/usr/local.
|
|
- Support for "fork()" in MPI applications that use the
|
|
OpenFabrics stack (OFED v1.2 or later).
|
|
- Support for setting specific limits on registered memory.
|
|
|
|
|
|
1.2
|
|
---
|
|
|
|
- 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.
|
|
|
|
|
|
1.1.5
|
|
-----
|
|
|
|
- Implement MPI_TYPE_CREATE_DARRAY function.
|
|
- Fix race condition in shared memory BTL startup that could cause MPI
|
|
applications to hang in MPI_INIT.
|
|
- Fix syntax error in a corner case of the event library. Thanks to
|
|
Bert Wesarg for pointing this out.
|
|
- Add new MCA parameter (mpi_preconnect_oob) for pre-connecting the
|
|
"out of band" channels between all MPI processes. Most helpful for
|
|
MPI applications over InfiniBand where process A sends an initial
|
|
message to process B, but process B does not enter the MPI library
|
|
for a long time.
|
|
- Fix for a race condition in shared memory locking semantics.
|
|
- Add major, minor, and release version number of Open MPI to mpi.h.
|
|
Thanks to Martin Audet for the suggestion.
|
|
- Fix the "restrict" compiler check in configure.
|
|
- Fix a problem with argument checking in MPI_TYPE_CREATE_SUBARRAY.
|
|
- Fix a problem with compiling the XGrid components with non-gcc
|
|
compilers.
|
|
|
|
|
|
1.1.4
|
|
-----
|
|
|
|
- Fixed 64-bit alignment issues with TCP interface detection on
|
|
intel-based OS X machines.
|
|
- Adjusted TCP interface selection to automatically ignore Linux
|
|
channel-bonded slave interfaces.
|
|
- Fixed the type of the first parameter to the MPI F90 binding for
|
|
MPI_INITIALIZED. Thanks to Tim Campbell for pointing out the
|
|
problem.
|
|
- Fix a bunch of places in the Fortran MPI bindings where (MPI_Fint*)
|
|
was mistakenly being used instead of (MPI_Aint*).
|
|
- Fixes for fortran MPI_STARTALL, which could sometimes return
|
|
incorrect request values. Thanks to Tim Campbell for pointing out
|
|
the problem.
|
|
- Include both pre- and post-MPI-2 errata bindings for
|
|
MPI::Win::Get_attr.
|
|
- Fix math error on Intel OS X platforms that would greatly increase
|
|
shared memory latency.
|
|
- Fix type casting issue with MPI_ERRCODES_IGNORE that would cause
|
|
errors when using a C++ compiler. Thanks to Barry Smith for
|
|
bringing this to our attention.
|
|
- Fix possible segmentation fault during shutdown when using the
|
|
MX BTL.
|
|
|
|
|
|
1.1.3
|
|
-----
|
|
|
|
- Remove the "hierarch" coll component; it was not intended to be
|
|
included in stable releases yet.
|
|
- Fix a race condition with stdout/stderr not appearing properly from
|
|
all processes upon termination of an MPI job.
|
|
- Fix internal accounting errors with the self BTL.
|
|
- Fix typos in the code path for when sizeof(int) != sizeof(INTEGER)
|
|
in the MPI F77 bindings functions. Thanks to Pierre-Matthieu
|
|
Anglade for bringing this problem to our attention.
|
|
- Fix for a memory leak in the derived datatype function
|
|
ompi_ddt_duplicate(). Thanks to Andreas Schafer for reporting,
|
|
diagnosing, and patching the leak.
|
|
- Used better performing basic algorithm for MPI_ALLGATHERV.
|
|
- Added a workaround for a bug in the Intel 9.1 C++ compiler (all
|
|
versions up to and including 20060925) in the MPI C++ bindings that
|
|
caused run-time failures. Thanks to Scott Weitzenkamp for reporting
|
|
this problem.
|
|
- Fix MPI_SIZEOF implementation in the F90 bindings for COMPLEX
|
|
variable types.
|
|
- Fixes for persistent requests involving MPI_PROC_NULL. Thanks to
|
|
Lisandro Dalcin for reporting the problem.
|
|
- Fixes to MPI_TEST* and MPI_WAIT* for proper MPI exception reporting.
|
|
Thanks to Lisandro Dalcin for finding the issue.
|
|
- Various fixes for MPI generalized request handling; addition of
|
|
missing MPI::Grequest functionality to the C++ bindings.
|
|
- Add "mpi_preconnect_all" MCA parameter to force wireup of all MPI
|
|
connections during MPI_INIT (vs. making connections lazily whenever
|
|
the first MPI communication occurs between a pair of peers).
|
|
- Fix a problem for when $FC and/or $F77 were specified as multiple
|
|
tokens. Thanks to Orion Poplawski for identifying the problem and
|
|
to Ralf Wildenhues for suggesting the fix.
|
|
- Fix several MPI_*ERRHANDLER* functions and MPI_GROUP_TRANSLATE_RANKS
|
|
with respect to what arguments they allowed and the behavior that
|
|
they effected. Thanks to Lisandro Dalcin for reporting the
|
|
problems.
|
|
|
|
|
|
1.1.2
|
|
-----
|
|
|
|
- Really fix Fortran status handling in MPI_WAITSOME and MPI_TESTSOME.
|
|
- Various datatype fixes, reported by several users as causing
|
|
failures in the BLACS testing suite. Thanks to Harald Forbert, Ake
|
|
Sandgren and, Michael Kluskens for reporting the problem.
|
|
- Correctness and performance fixes for heterogeneous environments.
|
|
- Fixed a error in command line parsing on some platforms (causing
|
|
mpirun to crash without doing anything).
|
|
- Fix for initialization hangs on 64 bit Mac OS X PowerPC systems.
|
|
- Fixed some memory allocation problems in mpirun that could cause
|
|
random problems if "-np" was not specified on the command line.
|
|
- Add Kerberos authentication support for XGrid.
|
|
- Added LoadLeveler support for jobs larger than 128 tasks.
|
|
- Fix for large-sized Fortran LOGICAL datatypes.
|
|
- Fix various error checking in MPI_INFO_GET_NTHKEY and
|
|
MPI_GROUP_TRANSLATE_RANKS, and some collective operations
|
|
(particularly with regards to MPI_IN_PLACE). Thanks to Lisandro
|
|
Dalcin for reporting the problems.
|
|
- Fix receiving messages to buffers allocated by MPI_ALLOC_MEM.
|
|
- Fix a number of race conditions with the MPI-2 Onesided
|
|
interface.
|
|
- Fix the "tuned" collective componenete where some cases where
|
|
MPI_BCAST could hang.
|
|
- Update TCP support to support non-uniform TCP environments.
|
|
- Allow the "poe" RAS component to be built on AIX or Linux.
|
|
- Only install mpif.h if the rest of the Fortran bindings are
|
|
installed.
|
|
- Fixes for BProc node selection.
|
|
- Add some missing Fortran MPI-2 IO constants.
|
|
|
|
|
|
1.1.1
|
|
-----
|
|
|
|
- Fix for Fortran string handling in various MPI API functions.
|
|
- Fix for Fortran status handling in MPI_WAITSOME and MPI_TESTSOME.
|
|
- Various fixes for the XL compilers.
|
|
- Automatically disable using mallot() on AIX.
|
|
- Memory fixes for 64 bit platforms with registering MCA parameters in
|
|
the self and MX BTL components.
|
|
- Fixes for BProc to support oversubscription and changes to the
|
|
mapping algorithm so that mapping processes "by slot" works as
|
|
expected.
|
|
- Fixes for various abort cases to not hang and clean up nicely.
|
|
- If using the Intel 9.0 v20051201 compiler on an IA64 platform, the
|
|
ptmalloc2 memory manager component will automatically disable
|
|
itself. Other versions of the Intel compiler on this platform seem
|
|
to work fine (e.g., 9.1).
|
|
- Added "host" MPI_Info key to MPI_COMM_SPAWN and
|
|
MPI_COMM_SPAWN_MULTIPLE.
|
|
- Add missing C++ methods: MPI::Datatype::Create_indexed_block,
|
|
MPI::Datatype::Create_resized, MPI::Datatype::Get_true_extent.
|
|
- Fix OSX linker issue with Fortran bindings.
|
|
- Fixed MPI_COMM_SPAWN to start spawning new processes in slots that
|
|
(according to Open MPI) are not already in use.
|
|
- Added capability to "mpirun a.out" (without specifying -np) that
|
|
will run on all currently-allocated resources (e.g., within a batch
|
|
job such as SLURM, Torque, etc.).
|
|
- Fix a bug with one particular case of MPI_BCAST. Thanks to Doug
|
|
Gregor for identifying the problem.
|
|
- Ensure that the shared memory mapped file is only created when there
|
|
is more than one process on a node.
|
|
- Fixed problems with BProc stdin forwarding.
|
|
- Fixed problem with MPI_TYPE_INDEXED datatypes. Thanks to Yven
|
|
Fournier for identifying this problem.
|
|
- Fix some thread safety issues in MPI attributes and the openib BTL.
|
|
- Fix the BProc allocator to not potentially use the same resources
|
|
across multiple ORTE universes.
|
|
- Fix gm resource leak.
|
|
- More latency reduction throughout the code base.
|
|
- Make the TM PLS (PBS Pro, Torque, Open PBS) more scalable, and fix
|
|
some latent bugs that crept in v1.1. Thanks to the Thunderbird crew
|
|
at Sandia National Laboratories and Martin Schaffoner for access to
|
|
testing facilities to make this happen.
|
|
- Added new command line options to mpirun:
|
|
--nolocal: Do not run any MPI processes on the same node as mpirun
|
|
(compatibility with the OSC mpiexec launcher)
|
|
--nooversubscribe: Abort if the number of processes requested would
|
|
cause oversubscription
|
|
--quiet / -q: do not show spurious status messages
|
|
--version / -V: show the version of Open MPI
|
|
- Fix bus error in XGrid process starter. Thanks to Frank from the
|
|
Open MPI user's list for identifying the problem.
|
|
- Fix data size mismatches that caused memory errors on PPC64
|
|
platforms during the startup of the openib BTL.
|
|
- Allow propagation of SIGUSR1 and SIGUSR2 signals from mpirun to
|
|
back-end MPI processes.
|
|
- Add missing MPI::Is_finalized() function.
|
|
|
|
|
|
1.1
|
|
---
|
|
|
|
- Various MPI datatype fixes, optimizations.
|
|
- Fixed various problems on the SPARC architecture (e.g., not
|
|
correctly aligning addresses within structs).
|
|
- Improvements in various run-time error messages to be more clear
|
|
about what they mean and where the errors are occurring.
|
|
- Various fixes to mpirun's handling of --prefix.
|
|
- Updates and fixes for Cray/Red Storm support.
|
|
- Major improvements to the Fortran 90 MPI bindings:
|
|
- General improvements in compile/linking time and portability
|
|
between different F90 compilers.
|
|
- Addition of "trivial", "small" (the default), and "medium"
|
|
Fortran 90 MPI module sizes (v1.0.x's F90 module was
|
|
equivalent to "medium"). See the README file for more
|
|
explanation.
|
|
- Fix various MPI F90 interface functions and constant types to
|
|
match. Thanks to Michael Kluskens for pointing out the problems
|
|
to us.
|
|
- Allow short messagees to use RDMA (vs. send/receive semantics) to a
|
|
limited number peers in both the mvapi and openib BTL components.
|
|
This reduces communication latency over IB channels.
|
|
- Numerous performance improvements throughout the entire code base.
|
|
- Many minor threading fixes.
|
|
- Add a define OMPI_SKIP_CXX to allow the user to skip the mpicxx.h from
|
|
being included in mpi.h. It allows the user to compile C code with a CXX
|
|
compiler without including the CXX bindings.
|
|
- PERUSE support has been added. In order to activate it add
|
|
--enable-peruse to the configure options. All events described in
|
|
the PERUSE 2.0 draft are supported, plus one Open MPI
|
|
extension. PERUSE_COMM_REQ_XFER_CONTINUE allow to see how the data
|
|
is segmented internally, using multiple interfaces or the pipeline
|
|
engine. However, this version only support one event of each type
|
|
simultaneously attached to a communicator.
|
|
- Add support for running jobs in heterogeneous environments.
|
|
Currently supports environments with different endianness and
|
|
different representations of C++ bool and Fortran LOGICAL.
|
|
Mismatched sizes for other datatypes is not supported.
|
|
- Open MPI now includes an implementation of the MPI-2 One-Sided
|
|
Communications specification.
|
|
- 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.
|
|
|
|
|
|
1.0.3 (unreleased; all fixes included in 1.1)
|
|
---------------------------------------------
|
|
|
|
- Fix a problem noted by Chris Hennes where MPI_INFO_SET incorrectly
|
|
disallowed long values.
|
|
- Fix a problem in the launch system that could cause inconsistent
|
|
launch behavior, particularly when launching large jobs.
|
|
- Require that the openib BTL find <sysfs/libsysfs.h>. Thanks to Josh
|
|
Aune for the suggestion.
|
|
- Include updates to support the upcoming Autoconf 2.60 and Libtool
|
|
2.0. Thanks to Ralf Wildenhues for all the work!
|
|
- Fix bug with infinite loop in the "round robin" process mapper.
|
|
Thanks to Paul Donohue for reporting the problem.
|
|
- Enusre that memory hooks are removed properly during MPI_FINALIZE.
|
|
Thanks to Neil Ludban for reporting the problem.
|
|
- Various fixes to the included support for ROMIO.
|
|
- Fix to ensure that MPI_LONG_LONG and MPI_LONG_LONG_INT are actually
|
|
synonyms, as defined by the MPI standard. Thanks to Martin Audet
|
|
for reporting this.
|
|
- Fix Fortran 90 configure tests to properly utilize LDFLAGS and LIBS.
|
|
Thanks to Terry Reeves for reporting the problem.
|
|
- Fix shared memory progression in asynchronous progress scenarios.
|
|
Thanks to Mykael Bouquey for reporting the problem.
|
|
- Fixed back-end operations for predefined MPI_PROD for some
|
|
datatypes. Thanks to Bert Wesarg for reporting this.
|
|
- Adapted configure to be able to handle Torque 2.1.0p0's (and above)
|
|
new library name. Thanks to Brock Palen for pointing this out and
|
|
providing access to a Torque 2.1.0p0 cluster to test with.
|
|
- Fixed situation where mpirun could set a shell pipeline's stdout
|
|
to non-blocking, causing the shell pipeline to prematurely fail.
|
|
Thanks to Darrell Kresge for figuring out what was happening.
|
|
- Fixed problems with leave_pinned that could cause Badness with the
|
|
mvapi BTL.
|
|
- Fixed problems with MPI_FILE_OPEN and non-blocking MPI-2 IO access.
|
|
- Fixed various InfiniBand port matching issues during startup.
|
|
Thanks to Scott Weitzenkamp for identifying these problems.
|
|
- Fixed various configure, build and run-time issues with ROMIO.
|
|
Thanks to Dries Kimpe for bringing them to our attention.
|
|
- Fixed error in MPI_COMM_SPLIT when dealing with intercommunicators.
|
|
Thanks to Bert Wesarg for identifying the problem.
|
|
- Fixed backwards handling of "high" parameter in MPI_INTERCOMM_MERGE.
|
|
Thanks to Michael Kluskens for pointing this out to us.
|
|
- Fixed improper handling of string arguments in Fortran bindings
|
|
for MPI-IO functionality
|
|
- Fixed segmentation fault with 64 bit applications on Solaris when
|
|
using the shared memory transports.
|
|
- Fixed MPI_COMM_SELF attributes to free properly at the beginning of
|
|
MPI_FINALIZE. Thanks to Martin Audet for bringing this to our
|
|
attention.
|
|
- Fixed alignment tests for cross-compiling to not cause errors with
|
|
recent versions of GCC.
|
|
|
|
|
|
1.0.2
|
|
-----
|
|
|
|
- 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).
|
|
|
|
|
|
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.
|