more machines. A job is typically a single command or a small script that
has to be run for each of the lines in the input. The typical input is a
list of files, a list of hosts, a list of users, or a list of tables.
1.5.3
-----
- Add missing "affinity" MPI extension (i.e., the OMPI_Affinity_str()
API) that was accidentally left out of the 1.5.2 release.
1.5.2
-----
- Replaced all custom topology / affinity code with initial support
for hwloc v1.1.1 (PLPA has been removed -- long live hwloc!). Note
that hwloc is bundled with Open MPI, but an external hwloc can be
used, if desired. See README for more details.
- Many CMake updates for Windows builds.
- Updated opal_cr_thread_sleep_wait MCA param default value to make it
less aggressive.
- Updated debugger support to allow Totalview attaching from jobs
launched directly via srun (not mpirun). Thanks to Nikolay Piskun
for the patch.
- Added more FTB/CIFTS support.
- Fixed compile error with the PGI compiler.
- Portability fixes to allow the openib BTL to run on the Solaris
verbs stack.
- Fixed multi-token command-line issues when using the mpirun
--debug switch. For example:
mpirun --debug -np 2 a.out "foo bar"
Thanks to Gabriele Fatigati for reporting the issue.
- Added ARM support.
- Added the MPI_ROOT environment variable in the Open MPI Linux SRPM
for customers who use the BPS and LSF batch managers.
- Updated ROMIO from MPICH v1.3.1 (plus one additional patch).
- Fixed some deprecated MPI API function notification messages.
- Added new "bfo" PML that provides failover on OpenFabrics networks.
- Fixed some buffer memcheck issues in MPI_*_init.
- Added Solaris-specific chip detection and performance improvements.
- Fix some compile errors on Solaris.
- Updated the "rmcast" framework with bug fixes, new functionality.
- Updated the Voltaire FCA component with bug fixes, new
functionality. Support for FCA version 2.1.
- Fix gcc 4.4.x and 4.5.x over-aggressive warning notifications on
possibly freeing stack variables. Thanks to the Gentoo packagers
for reporting the issue.
- Make the openib component be verbose when it disqualifies itself due
to MPI_THREAD_MULTIPLE.
- Minor man page fixes.
- Various checkpoint / restart fixes.
- Fix race condition in the one-sided unlock code. Thanks to
Guillaume Thouvenin for finding the issue.
- Improve help message aggregation.
- Add OMPI_Affinity_str() optional user-level API function (i.e., the
"affinity" MPI extension). See README for more details.
- Added btl_tcp_if_seq MCA parameter to select a different ethernet
interface for each MPI process on a node. This parameter is only
useful when used with virtual ethernet interfaces on a single
network card (e.g., when using virtual interfaces give dedicated
hardware resources on the NIC to each process).
- Changed behavior of mpirun to terminate if it receives 10 (or more)
SIGPIPEs.
- Fixed oversubscription detection.
- Added new mtl_mx_board and mtl_mx_endpoint MCA parameters.
- Added ummunotify support for OpenFabrics-based transports. See the
README for more details.
Changes in 1.3.1
# OVERALL: MPICH2 is now fully compliant with the CIFTS FTB standard
MPI events (based on the draft standard).
# OVERALL: Major improvements to RMA performance for long lists of
RMA operations.
# OVERALL: Performance improvements for Group_translate_ranks.
# COLLECTIVES: Collective algorithm selection thresholds can now be controlled
at runtime via environment variables.
# ROMIO: PVFS error codes are now mapped to MPI error codes.
# Several other minor bug fixes, memory leak fixes, and code cleanup.
A full list of changes is available using:
svn log -r7350:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3.1
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.3.1?action=follow_copy&rev=HEAD&stop_rev=7350&mode=follow_copy
Changes in 1.3
# OVERALL: Initial support for fine-grained threading in
ch3:nemesis:tcp.
# OVERALL: Support for Asynchronous Communication Progress.
# OVERALL: The ssm and shm channels have been removed.
# OVERALL: Checkpoint/restart support using BLCR.
# OVERALL: Improved tolerance to process and communication failures
when error handler is set to MPI_ERRORS_RETURN. If a communication
operation fails (e.g., due to a process failure) MPICH2 will return
an error, and further communication to that process is not
possible. However, communication with other processes will still
proceed normally. Note, however, that the behavior collective
operations on communicators containing the failed process is
undefined, and may give incorrect results or hang some processes.
# OVERALL: Experimental support for inter-library dependencies.
# PM/PMI: Hydra is now the default process management framework
replacing MPD.
# PM/PMI: Added dynamic process support for Hydra.
# PM/PMI: Added support for LSF, SGE and POE in Hydra.
# PM/PMI: Added support for CPU and memory/cache topology aware
process-core binding.
# DEBUGGER: Improved support and bug fixes in the Totalview support.
# Build system: Replaced F90/F90FLAGS by FC/FCFLAGS. F90/F90FLAGS are
not longer supported in the configure.
# Multi-compiler support: On systems where C compiler that is used to
build mpich2 libraries supports multiple weak symbols and multiple aliases,
the Fortran binding built in the mpich2 libraries can handle different
Fortran compilers (than the one used to build mpich2). Details in README.
# Several other minor bug fixes, memory leak fixes, and code cleanup.
A full list of changes is available using:
svn log -r5762:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.3?action=follow_copy&rev=HEAD&stop_rev=5762&mode=follow_copy
Changes in 1.5.1
- Fixes for the Oracle Studio 12.2 Fortran compiler.
- Fix SPARC and SPARCv9 atomics. Thanks to Nicola Stange for the
initial patch.
- Fix Libtool issues with the IBM XL compiler in 64-bit mode.
- Restore the reset of the libevent progress counter to avoid
over-sampling the event library.
- Update memory barrier support.
- Use memmove (instead of memcpy) when necessary (e.g., source and
destination overlap).
- Fixed ompi-top crash.
- Fix to handle Autoconf --program-transforms properly and other
m4/configury updates. Thanks to the GASNet project for the
--program transforms fix.
- Allow hostfiles to specify usernames on a per-host basis.
- Update wrapper compiler scripts to search for perl during configure,
per request from the BSD maintainers.
- Minor man page fixes.
- Added --with-libltdl option to allow building Open MPI with an
external installation of libltdl.
- Fixed various issues with -D_FORTIFY_SOURCE=2.
- Various VT fixes and updates.
Notable changes in 1.5
- Added "knem" support: direct process-to-process copying for shared
memory message passing. See http://runtime.bordeaux.inria.fr/knem/
and the README file for more details.
- Updated shared library versioning scheme and linking style of MPI
applications. The MPI application ABI has been broken from the
v1.3/v1.4 series. MPI applications compiled against any prior
version of Open MPI will need to, at a minimum, re-link. See the
README file for more details.
- Added "fca" collective component, enabling MPI collective offload
support for Voltaire switches.
- Fixed MPI one-sided operations with large target displacements.
Thanks to Brian Price and Jed Brown for reporting the issue.
- Fixed MPI_GET_COUNT when used with large counts. Thanks to Jed
Brown for reporting the issue.
- Made the openib BTL safer if extremely low SRQ settings are used.
- Fixed handling of the array_of_argv parameter in the Fortran
binding of MPI_COMM_SPAWN_MULTIPLE (** also to appear: 1.4.3).
- Fixed malloc(0) warnings in some collectives.
- Fixed a problem with the Fortran binding for
MPI_FILE_CREATE_ERRHANDLER. Thanks to Secretan Yves for identifying
the issue (** also to appear: 1.4.3).
- Updates to the LSF PLM to ensure that the path is correctly passed.
Thanks to Teng Lin for the patch (** also to appear: 1.4.3).
- Fixes for the F90 MPI_COMM_SET_ERRHANDLER and MPI_WIN_SET_ERRHANDLER
bindings. Thanks to Paul Kapinos for pointing out the issue
(** also to appear: 1.4.3).
- Fixed extra_state parameter types in F90 prototypes for
MPI_COMM_CREATE_KEYVAL, MPI_GREQUEST_START, MPI_REGISTER_DATAREP,
MPI_TYPE_CREATE_KEYVAL, and MPI_WIN_CREATE_KEYVAL.
- Fixes for Solaris oversubscription detection.
- If the PML determines it can't reach a peer process, print a
slightly more helpful message. Thanks to Nick Edmonds for the
suggestion.
- Make btl_openib_if_include/exclude function the same way
btl_tcp_if_include/exclude works (i.e., supplying an _include list
overrides supplying an _exclude list).
- Apply more scalable reachability algorithm on platforms with more
than 8 TCP interfaces.
- Various assembly code updates for more modern platforms / compilers.
- Relax restrictions on using certain kinds of MPI datatypes with
one-sided operations. Users beware; not all MPI datatypes are valid
for use with one-sided operations!
- Improve behavior of MPI_COMM_SPAWN with regards to --bynode.
- Various threading fixes in the openib BTL and other core pieces of
Open MPI.
- Various help file and man pages updates.
- Various FreeBSD and NetBSD updates and fixes. Thanks to Kevin
Buckley and Aleksej Saushev for their work.
- Fix case where freeing communicators in MPI_FINALIZE could cause
process failures.
- Print warnings if shared memory state files are opened on what look
like networked filesystems.
- Update libevent to v1.4.13.
- Allow propagating signals to processes that call fork().
- Fix bug where MPI_GATHER was sometimes incorrectly examining the
datatype on non-root processes. Thanks to Michael Hofmann for
investigating the issue.
- Various Microsoft Windows fixes.
- Various Catamount fixes.
- Various checkpoint / restart fixes.
- Xgrid support has been removed until it can be fixed (patches
would be welcome).
- Added simplistic "libompitrace" contrib package. Using the MPI
profiling interface, it essentially prints out to stderr when select
MPI functions are invoked.
- Update bundled VampirTrace to v5.8.2.
- Add pkg-config(1) configuration files for ompi, ompi-c, ompi-cxx,
ompi-f77, ompi-f90. See the README for more details.
- Removed the libopenmpi_malloc library (added in the v1.3 series)
since it is no longer necessary
- Add several notifier plugins (generally used when Open MPI detects
system/network administrator-worthy problems); each have their own
MCA parameters to govern their usage. See "ompi_info --param
notifier <name>" for more details.
- command to execute arbitrary commands (e.g., run a script).
- file to send output to a file.
- ftb to send output to the Fault Tolerant Backplane (see
http://wiki.mcs.anl.gov/cifts/index.php/CIFTS)
- hnp to send the output to mpirun.
- smtp (requires libesmtp) to send an email.
New in 1.4.3
------------
- Fixed handling of the array_of_argv parameter in the Fortran
binding of MPI_COMM_SPAWN_MULTIPLE.
- Fixed a problem with the Fortran binding for
MPI_FILE_CREATE_ERRHANDLER. Thanks to Secretan Yves for identifying
the issue.
- Updates to the LSF PLM to ensure that the path is correctly passed.
Thanks to Teng Lin for the patch.
- Fixes for the F90 MPI_COMM_SET_ERRHANDLER and MPI_WIN_SET_ERRHANDLER
bindings. Thanks to Paul Kapinos for pointing out the issue.
- Fixed various MPI_THREAD_MULTIPLE race conditions.
- Fixed an issue with an undeclared variable from ptmalloc2 munmap on
BSD systems.
- Fixes for BSD interface detection.
- Various other BSD fixes. Thanks to Kevin Buckley helping to track.
all of this down.
- Fixed issues with the use of the -nper* mpirun command line arguments.
- Fixed an issue with coll tuned dynamic rules.
- Fixed an issue with the use of OPAL_DESTDIR being applied too aggressively.
- Fixed an issue with one-sided xfers when the displacement exceeds 2GBytes.
- Change to ensure TotalView works properly on Darwin.
- Added support for Visual Studio 2010.
- Fix to ensure proper placement of VampirTrace header files.
- Needed to add volatile keyword to a varialbe used in debugging
(MPIR_being_debugged).
- Fixed a bug in inter-allgather.
- Fixed malloc(0) warnings.
- Corrected a typo the MPI_Comm_size man page (intra -> inter). Thanks
to Simon number.cruncher for pointing this out.
- Fixed a SegV in orted when given more than 127 app_contexts.
- Removed xgrid source code from the 1.4 branch since it is no longer
supported in the 1.4 series.
- Removed the --enable-opal-progress-threads config option since
opal progress thread support does not work in 1.4.x.
- Fixed a defect in VampirTrace's vtfilter.
- Fixed wrong Windows path in hnp_contact.
- Removed the requirement for a paffinity component.
- Removed a hardcoded limit of 64 interconnected jobs.
- Fix to allow singletons to use ompi-server for rendezvous.
- Fixed bug in output-filename option.
- Fix to correctly handle failures in mx_init().
- Fixed a potential Fortran memory leak.
- Fixed an incorrect branch in some ppc32 assembly code. Thanks
to Matthew Clark for this fix.
- Remove use of undocumented AS_VAR_GET macro during configuration.
- Fixed an issue with VampirTrace's wrapper for MPI_init_thread.
- Updated mca-btl-openib-device-params.ini file with various new vendor id's.
- Configuration fixes to ensure CPPFLAGS in handled properly if a non-standard
valgrind location was specified.
- Various man page updates
I managed to trace things to the file libmetrics/netbsd/metrics.c in
the get_netbw function. Apparently, the code in get_netbw violates
alignment constraints for sparc64. I attached a patch against the result
of a "make patch" in parallel/ganglia-monitor-core. While I was at it, I
also changed proc_run_func somewhat to only count actually running
processes (having a look at NetBSD's ps(1) implementation) - without the
change, I got around 30 running processes on an idle machine.
"Looks good at a quick glance" martin@
Bump PKGREVISION.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Changes in v1.4.2 as compared to v1.4.1:
- Fixed problem when running in heterogeneous environments.
- Update LSF support to ensure that the path is passed correctly.
- Fixed some miscellaneous oversubscription detection bugs.
- IBM re-licensed its LoadLeveler code to be BSD-compliant.
- Various fixes for multithreading deadlocks, race conditions, and
other nefarious things.
- Fixed ROMIO's handling of "nearly" contiguous issues (e.g., with
non-zero true_lb).
- Bunches of Windows build fixes.
- Now allow the graceful failover from MTLs to BTLs if no MTLs can
initialize successfully.
- Added "clobber" information to various atomic operations, fixing
erroneous behavior in some newer versions of the GNU compiler suite.
- Update various iWARP and InfiniBand device specifications in the
OpenFabrics .ini support file.
- Fix the use of hostfiles when a username is supplied.
- Various fixes for rankfile support.
- Updated the internal version of VampirTrace to 5.4.12.
- Fixed OS X TCP wireup issues having to do with IPv4/IPv6 confusion
(see https://svn.open-mpi.org/trac/ompi/changeset/22788 for more
details).
- Fixed some problems in processor affinity support, including when
there are "holes" in the processor namespace (e.g., offline
processors).
- Ensure that Open MPI's "session directory" (usually located in /tmp)
is cleaned up after process termination.
- Fixed some problems with the collective "hierarch" implementation
that could occur in some obscure conditions.
- Various MPI_REQUEST_NULL, API parameter checking, and attribute
error handling fixes.
- Fix case where MPI_GATHER erroneously used datatypes on non-root nodes.
- Patched ROMIO support for PVFS2 > v2.7 (patch taken from MPICH2
version of ROMIO).
- Fixed "mpirun --report-bindings" behavior when used with
mpi_paffinity_alone=1. Also fixed mpi_paffinity_alone=1 behavior
with non-MPI applications.
- Ensure that all OpenFabrics devices have compatible receive_queues
specifications before allowing them to communicate. See the lengthy
comment in https://svn.open-mpi.org/trac/ompi/changeset/22592 for details.
- Fix some issues with checkpoint/restart.
- Improve the pre-MPI_INIT/post-MPI_FINALIZE error messages.
- Ensure that loopback addresses are never advertised to peer
processes for RDMA/OpenFabrics support.
- Fixed a CSUM PML false positive.
- Various fixes for Catamount support.
- Minor update to wrapper compilers in how user-specific argv is
ordered on the final command line. Thanks to Jed Brown for the
suggestions.
- Update to PLPA v1.3.2, addressing a licensing issue identified by
the Fedora project. See
https://svn.open-mpi.org/trac/plpa/changeset/262 for details.
- Add check for malformed checkpoint metadata files (Ticket #2141).
- Fix error path in ompi-checkpoint when not able to checkpoint
(Ticket #2138).
- Cleanup component release logic when selecting checkpoint/restart
enabled components (Ticket #2135).
- Fixed VT node name detection for Cray XT platforms, and fixed some
broken VT documentation files.
- Fix a possible race condition in tearing down RDMA CM-based
connections.
- Relax error checking on MPI_GRAPH_CREATE. Thanks to David Singleton
for pointing out the issue.
- Fix a shared memory "hang" problem that occurred on x86/x86_64
platforms when used with the GNU >=4.4.x compiler series.
- Add fix for Libtool 2.2.6b's problems with the PGI 10.x compiler
suite. Inspired directly from the upstream Libtool patches that fix
the issue (but we need something working before the next Libtool
release).
===============================================================================
Changes in 1.2.1
===============================================================================
# OVERALL: Improved support for fine-grained multithreading.
# OVERALL: Improved integration with Valgrind for debugging builds of MPICH2.
# PM/PMI: Initial support for hwloc process-core binding library in
Hydra.
# PM/PMI: Updates to the PMI-2 code to match the PMI-2 API and
wire-protocol draft.
# Several other minor bug fixes, memory leak fixes, and code cleanup.
A full list of changes is available using:
svn log -r5425:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.2.1
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.2.1?action=follow_copy&rev=HEAD&stop_rev=5425&mode=follow_copy
===============================================================================
Changes in 1.2
===============================================================================
# OVERALL: Support for MPI-2.2
# OVERALL: Several fixes to Nemesis/MX.
# WINDOWS: Performance improvements to Nemesis/windows.
# PM/PMI: Scalability and performance improvements to Hydra using
PMI-1.1 process-mapping features.
# PM/PMI: Support for process-binding for hyperthreading enabled
systems in Hydra.
# PM/PMI: Initial support for PBS as a resource management kernel in
Hydra.
# PM/PMI: PMI2 client code is now officially included in the release.
# TEST SUITE: Support to run the MPICH2 test suite through valgrind.
# Several other minor bug fixes, memory leak fixes, and code cleanup.
A full list of changes is available using:
svn log -r5025:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.2
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.2?action=follow_copy&rev=HEAD&stop_rev=5025&mode=follow_copy
===============================================================================
Changes in 1.1.1p1
===============================================================================
- OVERALL: Fixed an invalid read in the dataloop code for zero count types.
- OVERALL: Fixed several bugs in ch3:nemesis:mx (tickets #744,#760;
also change r5126).
- BUILD SYSTEM: Several fixes for functionality broken in 1.1.1 release,
including MPICH2LIB_xFLAGS and extra libraries living in $LIBS instead of
$LDFLAGS. Also, '-lpthread' should no longer be duplicated in link lines.
- BUILD SYSTEM: MPICH2 shared libraries are now compatible with glibc versioned
symbols on Linux, such as those present in the MX shared libraries.
- BUILD SYSTEM: Minor tweaks to improve compilation under the nvcc CUDA
compiler.
- PM/PMI: Fix mpd incompatibility with python2.3 introduced in mpich2-1.1.1.
- PM/PMI: Several fixes to hydra, including memory leak fixes and process
binding issues.
- TEST SUITE: Correct invalid arguments in the coll2 and coll3 tests.
- Several other minor bug fixes, memory leak fixes, and code cleanup. A full
list of changes is available using:
svn log -r5032:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1.1p1
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.1.1p1?action=follow_copy&rev=HEAD&stop_rev=5032&mode=follow_copy
===============================================================================
Changes in 1.1.1
===============================================================================
# OVERALL: Improved support for Boost MPI.
# PM/PMI: Significantly improved time taken by MPI_Init with Nemesis and MPD on
large numbers of processes.
# PM/PMI: Improved support for hybrid MPI-UPC program launching with
Hydra.
# PM/PMI: Improved support for process-core binding with Hydra.
# PM/PMI: Preliminary support for PMI-2. Currently supported only
with Hydra.
# Many other bug fixes, memory leak fixes and code cleanup. A full
list of changes is available using:
svn log -r4655:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1.1
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.1.1?action=follow_copy&rev=HEAD&stop_rev=4655&mode=follow_copy
===============================================================================
Changes in 1.1
===============================================================================
- OVERALL: Added MPI 2.1 support.
- OVERALL: Nemesis is now the default configuration channel with a
completely new TCP communication module.
- OVERALL: Windows support for nemesis.
- OVERALL: Added a new Myrinet MX network module for nemesis.
- OVERALL: Initial support for shared-memory aware collective
communication operations. Currently MPI_Bcast, MPI_Reduce, MPI_Allreduce,
and MPI_Scan.
- OVERALL: Improved handling of MPI Attributes.
- OVERALL: Support for BlueGene/P through the DCMF library (thanks to
IBM for the patch).
- OVERALL: Experimental support for fine-grained multithreading
- OVERALL: Added dynamic processes support for Nemesis.
- OVERALL: Added automatic as well as statically runtime configurable
receive timeout variation for MPD (thanks to OSU for the patch).
- OVERALL: Improved performance for MPI_Allgatherv, MPI_Gatherv, and MPI_Alltoall.
- PM/PMI: Initial support for the new Hydra process management
framework (current support is for ssh, rsh, fork and a preliminary
version of slurm).
- ROMIO: Added support for MPI_Type_create_resized and
MPI_Type_create_indexed_block datatypes in ROMIO.
- ROMIO: Optimized Lustre ADIO driver (thanks to Weikuan Yu for
initial work and Sun for further improvements).
- Many other bug fixes, memory leak fixes and code cleanup. A full
list of changes is available using:
svn log -r813:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1
... or at the following link:
https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.1?action=follow_copy&rev=HEAD&stop_rev=813&mode=follow_copy
New in OpenPA v1.0.2:
Major Changes:
* Add support for 64-bit PPC.
* Static initializer macros for OPA types.
balaji (1):
* Fix pthread_mutex usage for inter-process shared memory regions.
buntinas (1):
* added OPA typedef for pthread_mutex_t
fortnern (4):
* Add more tests for compare-and-swap.
* Add integer compare-and-swap fairness test.
* Add pointer version of compare-and-swap fairness test.
* Added configure test for pthread_yield.
goodell (6):
* Fix bad include guard in the opa_by_lock.h header.
* Add new "unsafe" primitives. Also minor updates to the docs.
* Add support for 64-bit PPC.
* Update README to reflect 64-bit PPC support.
* Add static initializer macros for OPA_int_t/OPA_ptr_t.
* Actually include the COPYRIGHT and CHANGELOG files in the distribution.
jayesh (1):
* Fixed compiler warnings in NT intrinsics. Now type casting the arguments to NT intrinsics correctly