Blame CHANGES

Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.3.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
# Add support for struct sockaddr in MPICH, Hydra, and PMI socket
Packit Service c5cf8c
  code. Works with both IPv4 and IPv6 addresses.
Packit Service c5cf8c
Packit Service c5cf8c
# Fix localhost detection on FreeBSD and macOS, avoiding long delay
Packit Service c5cf8c
  during startup.
Packit Service c5cf8c
Packit Service c5cf8c
# Fix thread-local storage detection.
Packit Service c5cf8c
Packit Service c5cf8c
# Fix several test program bugs.
Packit Service c5cf8c
Packit Service c5cf8c
# Fix several static analysis and compiler warnings.
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.3.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Fix bug in MPI_Testany/MPI_Waitany that could cause deadlock
Packit Service c5cf8c
Packit Service c5cf8c
 # Add missing functionality in Argobots library support
Packit Service c5cf8c
Packit Service c5cf8c
 # Fix configure-time detection for thread local storage support
Packit Service c5cf8c
Packit Service c5cf8c
 # Better support for reproducible builds. Thanks to Bernhard
Packit Service c5cf8c
   Wiedemann for the report and fixes
Packit Service c5cf8c
Packit Service c5cf8c
 # Fix support for XL compiler toolchain
Packit Service c5cf8c
Packit Service c5cf8c
 # Add support for -static-intel linking option
Packit Service c5cf8c
Packit Service c5cf8c
 # Fix building on systems without weak symbols
Packit Service c5cf8c
Packit Service c5cf8c
 # Fix several static analysis and compiler warnings
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.3
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # CH4 Device: A new device layer implementation designed for low software
Packit Service c5cf8c
   overheads. CH4 has experimental support for OFI and UCX network libraries,
Packit Service c5cf8c
   and POSIX shared memory. Thanks to Intel, Mellanox, and RIKEN AICS for
Packit Service c5cf8c
   participating in the CH4 coding effort.
Packit Service c5cf8c
Packit Service c5cf8c
 # Fixed SLURM integration in Hydra for new node list format.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added support for PMIx (https://pmix.github.io/pmix/) client
Packit Service c5cf8c
   library in CH4 netmods. Note that you must use a compatible PMIx
Packit Service c5cf8c
   server in this configuration.
Packit Service c5cf8c
Packit Service c5cf8c
 # Better organization of collectives in the MPI layer. The new
Packit Service c5cf8c
   scheme, which de-couples implementation from selection logic,
Packit Service c5cf8c
   enables easier integration of additional algorithms.
Packit Service c5cf8c
Packit Service c5cf8c
 # TSP collectives framework: A C++-template style framework for
Packit Service c5cf8c
   collective algorithms is added to allow single collective
Packit Service c5cf8c
   implementation to move data over generic or device-specific
Packit Service c5cf8c
   transport functions.
Packit Service c5cf8c
Packit Service c5cf8c
 # Improvements to derived datatype testing (DTPools -
Packit Service c5cf8c
   https://wiki.mpich.org/mpich/index.php/DTPools).
Packit Service c5cf8c
Packit Service c5cf8c
 # Added new "non-catastrophic" error codes to expose internal
Packit Service c5cf8c
   resource exhaustion.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added info hints to MPI_Comm_split_type to support splitting
Packit Service c5cf8c
   communicators by machine topology. Both on-node (socket, core,
Packit Service c5cf8c
   etc.) and off-node (switch-level) hints are defined.
Packit Service c5cf8c
Packit Service c5cf8c
 # Improvements to MPI_THREAD_MULTIPLE in CH4 through new thread safety
Packit Service c5cf8c
   models at the Virtual Network Interface (VNI) level. This introduces two
Packit Service c5cf8c
   new models that leverage work-queues to offload operations and improve
Packit Service c5cf8c
   scalability under contention.
Packit Service c5cf8c
Packit Service c5cf8c
 # Message Driven Thread Activation (MDTA). An alternative locking
Packit Service c5cf8c
   model is defined for MPI_THREAD_MULTIPLE in CH4.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added PMI usage optimizations for business card exchange in CH4
Packit Service c5cf8c
   netmods.
Packit Service c5cf8c
Packit Service c5cf8c
 # Improvements on MPI_Abort. MPI_Abort invoked on subcommunicators will
Packit Service c5cf8c
   only abort the connected processes within that communicator.
Packit Service c5cf8c
`
Packit Service c5cf8c
 # Cleanup of whitespace (ch3 excluded) using the
Packit Service c5cf8c
   maint/code-cleanup.sh script. For instructions on how to update
Packit Service c5cf8c
   PRs/branches based on MPICH before the cleanup, see
Packit Service c5cf8c
   https://github.com/pmodels/mpich/wiki/Code-Cleanup-Procedure.
Packit Service c5cf8c
Packit Service c5cf8c
 # Removed the PAMI device and poe PMI client.
Packit Service c5cf8c
Packit Service c5cf8c
 # C99 compiler support is now required to build MPICH.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.3..v3.3.1
Packit Service c5cf8c
Packit Service c5cf8c
   A list of bugs that have been fixed is available at the following
Packit Service c5cf8c
   link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://github.com/pmodels/mpich/milestone/25?closed=1
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Added support for MPI-3.1 features including nonblocking collective I/O,
Packit Service c5cf8c
   address manipulation routines, thread-safety for MPI initialization,
Packit Service c5cf8c
   pre-init functionality, and new MPI_T routines to look up variables
Packit Service c5cf8c
   by name.
Packit Service c5cf8c
Packit Service c5cf8c
 # Fortran 2008 bindings are enabled by default and fully supported.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added support for the Mellanox MXM InfiniBand interface.  (thanks
Packit Service c5cf8c
   to Mellanox for the code contribution).
Packit Service c5cf8c
Packit Service c5cf8c
 # Added support for the Mellanox HCOLL interface for collectives.
Packit Service c5cf8c
   (thanks to Mellanox for the code contribution).
Packit Service c5cf8c
Packit Service c5cf8c
 # Significant stability improvements to the MPICH/portals4
Packit Service c5cf8c
   implementation.
Packit Service c5cf8c
Packit Service c5cf8c
 # Completely revamped RMA infrastructure including several
Packit Service c5cf8c
   scalability improvements, performance improvements, and bug fixes.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added experimental support for Open Fabrics Interfaces (OFI) version 1.0.0.
Packit Service c5cf8c
   https://github.com/ofiwg/libfabric (thanks to Intel for code contribution)
Packit Service c5cf8c
Packit Service c5cf8c
 # The Myrinet MX network module, which had a life cyle from 1.1 till
Packit Service c5cf8c
   3.1.2, has now been deleted.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.1.3..v3.2
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of bugs that have been fixed is available at the
Packit Service c5cf8c
   following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/query?status=closed&group=resolution&milestone=mpich-3.2
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.1.3
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Several enhancements to Portals4 support.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several enhancements to PAMI (thanks to IBM for the code contribution).
Packit Service c5cf8c
Packit Service c5cf8c
 # Several enhancements to the CH3 RMA implementation.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several enhancements to ROMIO.
Packit Service c5cf8c
Packit Service c5cf8c
 # Fixed deadlock in multi-threaded MPI_Comm_idup.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.1.2..v3.1.3
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of bugs that have been fixed is available at the
Packit Service c5cf8c
   following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/query?status=closed&group=resolution&milestone=mpich-3.1.3
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.1.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Significant enhancements to the BG/Q device, especially for RMA and
Packit Service c5cf8c
   shared memory functionality.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several enhancements to ROMIO.
Packit Service c5cf8c
Packit Service c5cf8c
 # Upgraded to hwloc-1.9.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added more Fortran 2008 (F08) tests and fixed a few F08 binding bugs.
Packit Service c5cf8c
   Now all MPICH F90 tests have been ported to F08.
Packit Service c5cf8c
Packit Service c5cf8c
 # Updated weak alias support to align with gcc-4.x
Packit Service c5cf8c
Packit Service c5cf8c
 # Minor enhancements to the CH3 RMA implementation.
Packit Service c5cf8c
Packit Service c5cf8c
 # Better implementation of MPI_Allreduce for intercommunicator.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added environment variables to control memory tracing overhead.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added flags to enable C99 mode with Solaris compilers.
Packit Service c5cf8c
Packit Service c5cf8c
 # Updated implementation of MPI-T CVARs of type MPI_CHAR, as interpreted
Packit Service c5cf8c
   in MPI-3.0 Errata.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.1.1..v3.1.2
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of bugs that have been fixed is available at the
Packit Service c5cf8c
   following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/query?status=closed&group=resolution&milestone=mpich-3.1.2
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.1.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Blue Gene/Q implementation supports MPI-3. This release contains a
Packit Service c5cf8c
   functional and compliant Blue Gene/Q implementation of the MPI-3 standard.
Packit Service c5cf8c
   Instructions to build on Blue Gene/Q are on the mpich.org wiki:
Packit Service c5cf8c
   http://wiki.mpich.org/mpich/index.php/BGQ
Packit Service c5cf8c
Packit Service c5cf8c
 # Fortran 2008 bindings (experimental). Build with --enable-fortran=all. Must have
Packit Service c5cf8c
   a Fortran 2008 + TS 29113 capable compiler.
Packit Service c5cf8c
Packit Service c5cf8c
 # Significant rework of MPICH library management and which symbols go
Packit Service c5cf8c
   into which libraries.  Also updated MPICH library names to make
Packit Service c5cf8c
   them consistent with Intel MPI, Cray MPI and IBM PE MPI.  Backward
Packit Service c5cf8c
   compatibility links are provided for older mpich-based build
Packit Service c5cf8c
   systems.
Packit Service c5cf8c
Packit Service c5cf8c
 # The ROMIO "Blue Gene" driver has seen significant rework.  We have separated
Packit Service c5cf8c
   "file system" features from "platform" features, since GPFS shows up in more
Packit Service c5cf8c
   places than just Blue Gene
Packit Service c5cf8c
Packit Service c5cf8c
 # New ROMIO options for aggregator selection and placement on Blue Gene
Packit Service c5cf8c
Packit Service c5cf8c
 # Optional new ROMIO two-phase algorithm requiring less communication for
Packit Service c5cf8c
   certain workloads
Packit Service c5cf8c
Packit Service c5cf8c
 # The old ROMIO optimization "deferred open" either stopped working or was
Packit Service c5cf8c
   disabled on several platforms.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added support for powerpcle compiler. Patched libtool in MPICH to support
Packit Service c5cf8c
   little-endian powerpc linux host.
Packit Service c5cf8c
Packit Service c5cf8c
 # Fixed the prototype of the Reduce_local C++ binding.  The previous
Packit Service c5cf8c
   prototype was completely incorrect.  Thanks to Jeff Squyres for
Packit Service c5cf8c
   reporting the issue.
Packit Service c5cf8c
Packit Service c5cf8c
 # The mpd process manager, which was deprecated and unsupported for
Packit Service c5cf8c
   the past four major release series (1.3.x till 3.1), has now been
Packit Service c5cf8c
   deleted.  RIP.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.1..v3.1.1
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of bugs that have been fixed is available at the
Packit Service c5cf8c
   following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/query?status=closed&group=resolution&milestone=mpich-3.1.1
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # Implement runtime compatibility with MPICH-derived implementations as per
Packit Service c5cf8c
   the ABI Compatibility Initiative (see www.mpich.org/abi for more
Packit Service c5cf8c
   information).
Packit Service c5cf8c
Packit Service c5cf8c
 # Integrated MPICH-PAMI code base for Blue Gene/Q and other IBM
Packit Service c5cf8c
   platforms.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several improvements to the SCIF netmod.  (code contribution from
Packit Service c5cf8c
   Intel).
Packit Service c5cf8c
Packit Service c5cf8c
 # Major revamp of the MPI_T interface added in MPI-3.
Packit Service c5cf8c
Packit Service c5cf8c
 # Added environment variables to control a lot more capabilities for
Packit Service c5cf8c
   collectives.  See the README.envvar file for more information.
Packit Service c5cf8c
Packit Service c5cf8c
 # Allow non-blocking collectives and fault tolerance at the same
Packit Service c5cf8c
   time. The option MPIR_PARAM_ENABLE_COLL_FT_RET has been deprecated as
Packit Service c5cf8c
   it is no longer necessary.
Packit Service c5cf8c
Packit Service c5cf8c
 # Improvements to MPI_WIN_ALLOCATE to internally allocate shared
Packit Service c5cf8c
   memory between processes on the same node.
Packit Service c5cf8c
Packit Service c5cf8c
 # Performance improvements for MPI RMA operations on shared memory
Packit Service c5cf8c
   for MPI_WIN_ALLOCATE and MPI_WIN_ALLOCATE_SHARED.
Packit Service c5cf8c
Packit Service c5cf8c
 # Enable shared library builds by default.
Packit Service c5cf8c
Packit Service c5cf8c
 # Upgraded hwloc to 1.8.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several improvements to the Hydra-SLURM integration.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several improvements to the Hydra process binding code.  See the
Packit Service c5cf8c
   Hydra wiki page for more information:
Packit Service c5cf8c
   http://wiki.mpich.org/mpich/index.php/Using_the_Hydra_Process_Manager
Packit Service c5cf8c
Packit Service c5cf8c
 # MPICH now supports operations on very large datatypes (those that describe
Packit Service c5cf8c
   more than 32 bits of data).  This work also allows MPICH to fully support
Packit Service c5cf8c
   MPI-3's introduction of MPI_Count.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.0.4..v3.1
Packit Service c5cf8c
Packit Service c5cf8c
   A full list of bugs that have been fixed is available at the
Packit Service c5cf8c
   following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mpich.org/projects/mpich/query?status=closed&group=resolution&milestone=mpich-3.1
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.0.4
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # BUILD SYSTEM: Reordered the default compiler search to prefer Intel
Packit Service c5cf8c
   and PG compilers over GNU compilers because of the performance
Packit Service c5cf8c
   difference.
Packit Service c5cf8c
Packit Service c5cf8c
   WARNING: If you do not explicitly specify the compiler you want
Packit Service c5cf8c
   through CC and friends, this might break ABI for you relative to
Packit Service c5cf8c
   the previous 3.0.x release.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added support to manage per-communicator eager-rendezvous
Packit Service c5cf8c
   thresholds.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Performance improvements to the Hydra process manager on
Packit Service c5cf8c
   large-scale systems by allowing for key/value caching.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.0.3..v3.0.4
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.0.3
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # RMA: Added a new mechanism for piggybacking RMA synchronization operations,
Packit Service c5cf8c
   which improves the performance of several synchronization operations,
Packit Service c5cf8c
   including Flush.
Packit Service c5cf8c
Packit Service c5cf8c
 # RMA: Added an optimization to utilize the MPI_MODE_NOCHECK assertion in
Packit Service c5cf8c
   passive target RMA to improve performance by eliminating a lock request
Packit Service c5cf8c
   message.
Packit Service c5cf8c
Packit Service c5cf8c
 # RMA: Added a default implementation of shared memory windows to CH3.  This
Packit Service c5cf8c
   adds support for this MPI 3.0 feature to the ch3:sock device.
Packit Service c5cf8c
Packit Service c5cf8c
 # RMA: Fix a bug that resulted in an error when RMA operation request handles
Packit Service c5cf8c
   where completed outside of a synchronization epoch.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgraded to hwloc-1.6.2rc1.  This version uses libpciaccess
Packit Service c5cf8c
   instead of libpci, to workaround the GPL license used by libpci.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added support for the Cobalt process manager.
Packit Service c5cf8c
Packit Service c5cf8c
 # BUILD SYSTEM: allow MPI_LONG_DOUBLE_SUPPORT to be disabled with a configure
Packit Service c5cf8c
   option.
Packit Service c5cf8c
Packit Service c5cf8c
 # FORTRAN: fix MPI_WEIGHTS_EMPTY in the Fortran bindings
Packit Service c5cf8c
Packit Service c5cf8c
 # MISC: fix a bug in MPI_Get_elements where it could return incorrect values
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.0.2..v3.0.3
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.0.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgrade to hwloc-1.6.1
Packit Service c5cf8c
Packit Service c5cf8c
 # RMA: Performance enhancements for shared memory windows.
Packit Service c5cf8c
Packit Service c5cf8c
 # COMPILER INTEGRATION: minor improvements and fixes to the clang static type
Packit Service c5cf8c
   checking annotation macros.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-IO (ROMIO): improved error checking for user errors, contributed by IBM.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3 TOOLS INTERFACE: new MPI_T performance variables providing information
Packit Service c5cf8c
   about nemesis communication behavior and and CH3 message matching queues.
Packit Service c5cf8c
Packit Service c5cf8c
 # TEST SUITE: "make testing" now also outputs a "summary.tap" file that can be
Packit Service c5cf8c
   interpreted with standard TAP consumer libraries and tools.  The
Packit Service c5cf8c
   "summary.xml" format remains unchanged.
Packit Service c5cf8c
Packit Service c5cf8c
 # GIT: This is the first release built from the new git repository at
Packit Service c5cf8c
   git.mpich.org.  A few build system mechanisms have changed because of this
Packit Service c5cf8c
   switch.
Packit Service c5cf8c
Packit Service c5cf8c
 # BUG FIX: resolved a compilation error related to LLONG_MAX that affected
Packit Service c5cf8c
   several users (ticket #1776).
Packit Service c5cf8c
Packit Service c5cf8c
 # BUG FIX: nonblocking collectives now properly make progress when MPICH is
Packit Service c5cf8c
   configured with the ch3:sock channel (ticket #1785).
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     http://git.mpich.org/mpich.git/shortlog/v3.0.1..v3.0.2
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.0.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Critical bug-fix in Hydra to work correctly in multi-node
Packit Service c5cf8c
   tests.
Packit Service c5cf8c
Packit Service c5cf8c
 # A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r10790:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich-3.0.1
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich-3.0.1?action=follow_copy&rev=HEAD&stop_rev=10790&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 3.0
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: All MPI-3 features are now implemented and the MPI_VERSION
Packit Service c5cf8c
   bumped up to 3.0.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added support for ARM-v7 native atomics
Packit Service c5cf8c
Packit Service c5cf8c
 # MPE: MPE is now separated out of MPICH and can be downloaded/used
Packit Service c5cf8c
   as a separate package.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgraded to hwloc-1.6
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r10344:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich-3.0
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich-3.0?action=follow_copy&rev=HEAD&stop_rev=10344&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.5
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Nemesis now supports an "--enable-yield=..." configure
Packit Service c5cf8c
   option for better performance/behavior when oversubscribing
Packit Service c5cf8c
   processes to cores.  Some form of this option is enabled by default
Packit Service c5cf8c
   on Linux, Darwin, and systems that support sched_yield().
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added support for Intel Many Integrated Core (MIC)
Packit Service c5cf8c
   architecture: shared memory, TCP/IP, and SCIF based communication.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added support for IBM BG/Q architecture.  Thanks to IBM
Packit Service c5cf8c
   for the contribution.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: const support has been added to mpi.h, although it is
Packit Service c5cf8c
   disabled by default.  It can be enabled on a per-translation unit
Packit Service c5cf8c
   basis with "#define MPICH2_CONST const".
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: Added support for MPIX_Type_create_hindexed_block.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 nonblocking collective functions are now
Packit Service c5cf8c
   available as "MPIX_" functions (e.g., "MPIX_Ibcast").
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 neighborhood collective routines are now available as
Packit Service c5cf8c
   "MPIX_" functions (e.g., "MPIX_Neighbor_allgather").
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 MPI_Comm_split_type function is now available
Packit Service c5cf8c
   as an "MPIX_" function.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 tools interface is now available as "MPIX_T_"
Packit Service c5cf8c
   functions.  This is a beta implementation right now with several
Packit Service c5cf8c
   limitations, including no support for multithreading.  Several
Packit Service c5cf8c
   performance variables related to CH3's message matching are exposed
Packit Service c5cf8c
   through this interface.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 matched probe functionality is supported via
Packit Service c5cf8c
   the new routines MPIX_Mprobe, MPIX_Improbe, MPIX_Mrecv, and
Packit Service c5cf8c
   MPIX_Imrecv.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: The new MPI-3 nonblocking communicator duplication routine,
Packit Service c5cf8c
   MPIX_Comm_idup, is now supported.  It will only work for
Packit Service c5cf8c
   single-threaded programs at this time.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: MPIX_Comm_reenable_anysource support
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: Native MPIX_Comm_create_group support (updated version of
Packit Service c5cf8c
   the prior MPIX_Group_comm_create routine).
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: MPI_Intercomm_create's internal communication no longer interferes
Packit Service c5cf8c
   with point-to-point communication, even if point-to-point operations on the
Packit Service c5cf8c
   parent communicator use the same tag or MPI_ANY_TAG.
Packit Service c5cf8c
Packit Service c5cf8c
 # MPI-3: Eliminated the possibility of interference between
Packit Service c5cf8c
   MPI_Intercomm_create and point-to-point messaging operations.
Packit Service c5cf8c
Packit Service c5cf8c
 # Build system: Completely revamped build system to rely fully on
Packit Service c5cf8c
   autotools.  Parallel builds ("make -j8" and similar) are now supported.
Packit Service c5cf8c
Packit Service c5cf8c
 # Build system: rename "./maint/updatefiles" --> "./autogen.sh" and
Packit Service c5cf8c
   "configure.in" --> "configure.ac"
Packit Service c5cf8c
Packit Service c5cf8c
 # JUMPSHOT: Improvements to Jumpshot to handle thousands of
Packit Service c5cf8c
   timelines, including performance improvements to slog2 in such
Packit Service c5cf8c
   cases.
Packit Service c5cf8c
Packit Service c5cf8c
 # JUMPSHOT: Added navigation support to locate chosen drawable's ends
Packit Service c5cf8c
   when viewport has been scrolled far from the drawable.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added support for memory binding policies.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Various improvements to the process binding support in
Packit Service c5cf8c
   Hydra.  Several new pre-defined binding options are provided.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgraded to hwloc-1.5
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Several improvements to PBS support to natively use the PBS
Packit Service c5cf8c
   launcher.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r8478:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.5
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.5?action=follow_copy&rev=HEAD&stop_rev=8478&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.4.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Several improvements to the ARMCI API implementation
Packit Service c5cf8c
   within MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
 # Build system: Added beta support for DESTDIR while installing
Packit Service c5cf8c
   MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgrade hwloc to 1.2.1rc2.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Initial support for the PBS launcher.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r8675:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.4.1
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.4.1?action=follow_copy&rev=HEAD&stop_rev=8675&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.4
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improvements to fault tolerance for collective
Packit Service c5cf8c
   operations. Thanks to Rui Wang @ ICT for reporting several of these
Packit Service c5cf8c
   issues.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improvements to the universe size detection. Thanks to
Packit Service c5cf8c
   Yauheni Zelenko for reporting this issue.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Bug fixes for Fortran attributes on some systems. Thanks
Packit Service c5cf8c
   to Nicolai Stange for reporting this issue.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added new ARMCI API implementation (experimental).
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Added new MPIX_Group_comm_create function to allow
Packit Service c5cf8c
   non-collective creation of sub-communicators.
Packit Service c5cf8c
Packit Service c5cf8c
 # FORTRAN: Bug fixes in the MPI_DIST_GRAPH_ Fortran bindings.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Support for a manual "none" launcher in Hydra to allow for
Packit Service c5cf8c
   higher-level tools to be built on top of Hydra. Thanks to Justin
Packit Service c5cf8c
   Wozniak for reporting this issue, for providing several patches for
Packit Service c5cf8c
   the fix, and testing it.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Bug fixes in Hydra to handle non-uniform layouts of hosts
Packit Service c5cf8c
   better. Thanks to the MVAPICH group at OSU for reporting this issue
Packit Service c5cf8c
   and testing it.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Bug fixes in Hydra to handle cases where only a subset of
Packit Service c5cf8c
   the available launchers or resource managers are compiled
Packit Service c5cf8c
   in. Thanks to Satish Balay @ Argonne for reporting this issue.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Support for a different username to be provided for each
Packit Service c5cf8c
   host; this only works for launchers that support this (such as
Packit Service c5cf8c
   SSH).
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Bug fixes for using Hydra on AIX machines. Thanks to
Packit Service c5cf8c
   Kitrick Sheets @ NCSA for reporting this issue and providing the
Packit Service c5cf8c
   first draft of the patch.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Bug fixes in memory allocation/management for environment
Packit Service c5cf8c
   variables that was showing up on older platforms. Thanks to Steven
Packit Service c5cf8c
   Sutphen for reporting the issue and providing detailed analysis to
Packit Service c5cf8c
   track down the bug.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added support for providing a configuration file to pick
Packit Service c5cf8c
   the default options for Hydra. Thanks to Saurabh T. for reporting
Packit Service c5cf8c
   the issues with the current implementation and working with us to
Packit Service c5cf8c
   improve this option.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Improvements to the error code returned by Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Bug fixes for handling "=" in environment variable values in
Packit Service c5cf8c
   hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgrade the hwloc version to 1.2.
Packit Service c5cf8c
Packit Service c5cf8c
 # COLLECTIVES: Performance and memory usage improvements for MPI_Bcast
Packit Service c5cf8c
   in certain cases.
Packit Service c5cf8c
Packit Service c5cf8c
 # VALGRIND: Fix incorrect Valgrind client request usage when MPICH2 is
Packit Service c5cf8c
   built for memory debugging.
Packit Service c5cf8c
Packit Service c5cf8c
 # BUILD SYSTEM: "--enable-fast" and "--disable-error-checking" are once
Packit Service c5cf8c
   again valid simultaneous options to configure.
Packit Service c5cf8c
Packit Service c5cf8c
 # TEST SUITE: Several new tests for MPI RMA operations.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r7838:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.4
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.4?action=follow_copy&rev=HEAD&stop_rev=7838&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.3.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: MPICH2 now recognizes the OSX mach_absolute_time as a
Packit Service c5cf8c
   native timer type.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Performance improvements to MPI_Comm_split on large
Packit Service c5cf8c
   systems.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Several improvements to error returns capabilities in the
Packit Service c5cf8c
   presence of faults.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Several fixes and improvements to Hydra's process binding
Packit Service c5cf8c
   capability.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Upgrade the hwloc version to 1.1.1.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Allow users to sort node lists allocated by resource
Packit Service c5cf8c
   managers in Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Improvements to signal handling. Now Hydra respects Ctrl-Z
Packit Service c5cf8c
   signals and passes on the signal to the application.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Improvements to STDOUT/STDERR handling including improved
Packit Service c5cf8c
   support for rank prepending on output. Improvements to STDIN
Packit Service c5cf8c
   handling for applications being run in the background.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Split the bootstrap servers into "launchers" and "resource
Packit Service c5cf8c
   managers", allowing the user to pick a different resource manager
Packit Service c5cf8c
   from the launcher. For example, the user can now pick the "SLURM"
Packit Service c5cf8c
   resource manager and "SSH" as the launcher.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: The MPD process manager is deprecated.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: The PLPA process binding library support is deprecated.
Packit Service c5cf8c
Packit Service c5cf8c
 # WINDOWS: Adding support for gfortran and 64-bit gcc libs.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r7457:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3.2
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     https://trac.mcs.anl.gov/projects/mpich2/log/mpich2/tags/release/mpich2-1.3.2?action=follow_copy&rev=HEAD&stop_rev=7457&mode=follow_copy
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.3.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: MPICH2 is now fully compliant with the CIFTS FTB standard
Packit Service c5cf8c
   MPI events (based on the draft standard).
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Major improvements to RMA performance for long lists of
Packit Service c5cf8c
   RMA operations.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Performance improvements for Group_translate_ranks.
Packit Service c5cf8c
Packit Service c5cf8c
 # COLLECTIVES: Collective algorithm selection thresholds can now be controlled
Packit Service c5cf8c
   at runtime via environment variables.
Packit Service c5cf8c
Packit Service c5cf8c
 # ROMIO: PVFS error codes are now mapped to MPI error codes.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r7350:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3.1
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.3
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Initial support for fine-grained threading in
Packit Service c5cf8c
   ch3:nemesis:tcp.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Support for Asynchronous Communication Progress.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: The ssm and shm channels have been removed.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Checkpoint/restart support using BLCR.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improved tolerance to process and communication failures
Packit Service c5cf8c
   when error handler is set to MPI_ERRORS_RETURN.  If a communication
Packit Service c5cf8c
   operation fails (e.g., due to a process failure) MPICH2 will return
Packit Service c5cf8c
   an error, and further communication to that process is not
Packit Service c5cf8c
   possible.  However, communication with other processes will still
Packit Service c5cf8c
   proceed normally.  Note, however, that the behavior collective
Packit Service c5cf8c
   operations on communicators containing the failed process is
Packit Service c5cf8c
   undefined, and may give incorrect results or hang some processes.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Experimental support for inter-library dependencies.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Hydra is now the default process management framework
Packit Service c5cf8c
   replacing MPD.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added dynamic process support for Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added support for LSF, SGE and POE in Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Added support for CPU and memory/cache topology aware
Packit Service c5cf8c
   process-core binding.
Packit Service c5cf8c
Packit Service c5cf8c
 # DEBUGGER: Improved support and bug fixes in the Totalview support.
Packit Service c5cf8c
Packit Service c5cf8c
 # Build system: Replaced F90/F90FLAGS by FC/FCFLAGS. F90/F90FLAGS are
Packit Service c5cf8c
   not longer supported in the configure.
Packit Service c5cf8c
Packit Service c5cf8c
 # Multi-compiler support: On systems where C compiler that is used to
Packit Service c5cf8c
   build mpich2 libraries supports multiple weak symbols and multiple aliases,
Packit Service c5cf8c
   the Fortran binding built in the mpich2 libraries can handle different
Packit Service c5cf8c
   Fortran compilers (than the one used to build mpich2).  Details in README.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r5762:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.3
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.2.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improved support for fine-grained multithreading.
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improved integration with Valgrind for debugging builds of MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Initial support for hwloc process-core binding library in
Packit Service c5cf8c
   Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Updates to the PMI-2 code to match the PMI-2 API and
Packit Service c5cf8c
   wire-protocol draft.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r5425:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.2.1
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Support for MPI-2.2
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Several fixes to Nemesis/MX.
Packit Service c5cf8c
Packit Service c5cf8c
 # WINDOWS: Performance improvements to Nemesis/windows.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Scalability and performance improvements to Hydra using
Packit Service c5cf8c
   PMI-1.1 process-mapping features.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Support for process-binding for hyperthreading enabled
Packit Service c5cf8c
   systems in Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Initial support for PBS as a resource management kernel in
Packit Service c5cf8c
   Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: PMI2 client code is now officially included in the release.
Packit Service c5cf8c
Packit Service c5cf8c
 # TEST SUITE: Support to run the MPICH2 test suite through valgrind.
Packit Service c5cf8c
Packit Service c5cf8c
 # Several other minor bug fixes, memory leak fixes, and code cleanup.
Packit Service c5cf8c
   A full list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r5025:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.2
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.1.1p1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 - OVERALL: Fixed an invalid read in the dataloop code for zero count types.
Packit Service c5cf8c
Packit Service c5cf8c
 - OVERALL: Fixed several bugs in ch3:nemesis:mx (tickets #744,#760;
Packit Service c5cf8c
   also change r5126).
Packit Service c5cf8c
Packit Service c5cf8c
 - BUILD SYSTEM: Several fixes for functionality broken in 1.1.1 release,
Packit Service c5cf8c
   including MPICH2LIB_xFLAGS and extra libraries living in $LIBS instead of
Packit Service c5cf8c
   $LDFLAGS.  Also, '-lpthread' should no longer be duplicated in link lines.
Packit Service c5cf8c
Packit Service c5cf8c
 - BUILD SYSTEM: MPICH2 shared libraries are now compatible with glibc versioned
Packit Service c5cf8c
   symbols on Linux, such as those present in the MX shared libraries.
Packit Service c5cf8c
Packit Service c5cf8c
 - BUILD SYSTEM: Minor tweaks to improve compilation under the nvcc CUDA
Packit Service c5cf8c
   compiler.
Packit Service c5cf8c
Packit Service c5cf8c
 - PM/PMI: Fix mpd incompatibility with python2.3 introduced in mpich2-1.1.1.
Packit Service c5cf8c
Packit Service c5cf8c
 - PM/PMI: Several fixes to hydra, including memory leak fixes and process
Packit Service c5cf8c
   binding issues.
Packit Service c5cf8c
Packit Service c5cf8c
 - TEST SUITE: Correct invalid arguments in the coll2 and coll3 tests.
Packit Service c5cf8c
Packit Service c5cf8c
 - Several other minor bug fixes, memory leak fixes, and code cleanup.  A full
Packit Service c5cf8c
   list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
     svn log -r5032:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1.1p1
Packit Service c5cf8c
Packit Service c5cf8c
     ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
     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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.1.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
 # OVERALL: Improved support for Boost MPI.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Significantly improved time taken by MPI_Init with Nemesis and MPD on
Packit Service c5cf8c
   large numbers of processes.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Improved support for hybrid MPI-UPC program launching with
Packit Service c5cf8c
   Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Improved support for process-core binding with Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # PM/PMI: Preliminary support for PMI-2. Currently supported only
Packit Service c5cf8c
   with Hydra.
Packit Service c5cf8c
Packit Service c5cf8c
 # Many other bug fixes, memory leak fixes and code cleanup. A full
Packit Service c5cf8c
   list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
  svn log -r4655:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1.1
Packit Service c5cf8c
Packit Service c5cf8c
  ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
  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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added MPI 2.1 support.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Nemesis is now the default configuration channel with a
Packit Service c5cf8c
  completely new TCP communication module.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Windows support for nemesis.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added a new Myrinet MX network module for nemesis.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Initial support for shared-memory aware collective
Packit Service c5cf8c
  communication operations.  Currently MPI_Bcast, MPI_Reduce, MPI_Allreduce,
Packit Service c5cf8c
  and MPI_Scan.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Improved handling of MPI Attributes.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Support for BlueGene/P through the DCMF library (thanks to
Packit Service c5cf8c
  IBM for the patch).
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Experimental support for fine-grained multithreading
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added dynamic processes support for Nemesis.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added automatic as well as statically runtime configurable
Packit Service c5cf8c
  receive timeout variation for MPD (thanks to OSU for the patch).
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Improved performance for MPI_Allgatherv, MPI_Gatherv, and MPI_Alltoall.
Packit Service c5cf8c
Packit Service c5cf8c
- PM/PMI: Initial support for the new Hydra process management
Packit Service c5cf8c
  framework (current support is for ssh, rsh, fork and a preliminary
Packit Service c5cf8c
  version of slurm).
Packit Service c5cf8c
Packit Service c5cf8c
- ROMIO: Added support for MPI_Type_create_resized and
Packit Service c5cf8c
  MPI_Type_create_indexed_block datatypes in ROMIO.
Packit Service c5cf8c
Packit Service c5cf8c
- ROMIO: Optimized Lustre ADIO driver (thanks to Weikuan Yu for
Packit Service c5cf8c
  initial work and Sun for further improvements).
Packit Service c5cf8c
Packit Service c5cf8c
- Many other bug fixes, memory leak fixes and code cleanup. A full
Packit Service c5cf8c
  list of changes is available using:
Packit Service c5cf8c
Packit Service c5cf8c
  svn log -r813:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/tags/release/mpich2-1.1
Packit Service c5cf8c
Packit Service c5cf8c
  ... or at the following link:
Packit Service c5cf8c
Packit Service c5cf8c
  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
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 1.0.7
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Initial ROMIO device for BlueGene/P (the ADI device is also
Packit Service c5cf8c
added but is not configurable at this time).
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Major clean up for the propagation of user-defined and
Packit Service c5cf8c
other MPICH2 flags throughout the code.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Support for STI Cell Broadband Engine.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added datatype free hooks to be used by devices
Packit Service c5cf8c
independently.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: Added device-specific timer support.
Packit Service c5cf8c
Packit Service c5cf8c
- OVERALL: make uninstall works cleanly now.
Packit Service c5cf8c
Packit Service c5cf8c
- ROMIO: Support to take hints from a config file
Packit Service c5cf8c
Packit Service c5cf8c
- ROMIO: more tests and bug fixes for nonblocking I/O
Packit Service c5cf8c
Packit Service c5cf8c
- PM/PMI: Added support to use PMI Clique functionality for process
Packit Service c5cf8c
managers that support it.
Packit Service c5cf8c
Packit Service c5cf8c
- PM/PMI: Added SLURM support to configure to make it transparent to
Packit Service c5cf8c
users.
Packit Service c5cf8c
Packit Service c5cf8c
- PM/PMI: SMPD Singleton Init support.
Packit Service c5cf8c
Packit Service c5cf8c
- WINDOWS: Fortran 90 support added.
Packit Service c5cf8c
Packit Service c5cf8c
- SCTP: Added MPICH_SCTP_NAGLE_ON support.
Packit Service c5cf8c
Packit Service c5cf8c
- MPE: Updated MPE logging API so that it is thread-safe (through
Packit Service c5cf8c
global mutex).
Packit Service c5cf8c
Packit Service c5cf8c
- MPE: Added infrastructure to piggyback argument data to MPI states.
Packit Service c5cf8c
Packit Service c5cf8c
- DOCS: Documentation creation now works correctly for VPATH builds.
Packit Service c5cf8c
Packit Service c5cf8c
- Many other bug fixes, memory leak fixes and code cleanup. A full
Packit Service c5cf8c
list of changes is available using:
Packit Service c5cf8c
  svn log -r100:HEAD https://svn.mcs.anl.gov/repos/mpi/mpich2/branches/release/MPICH2_1_0_7
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.6
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- Updates to the ch3:nemesis channel including preliminary support for
Packit Service c5cf8c
thread safety.
Packit Service c5cf8c
Packit Service c5cf8c
- Preliminary support for dynamic loading of ch3 channels (sock, ssm,
Packit Service c5cf8c
shm). See the README file for details.
Packit Service c5cf8c
Packit Service c5cf8c
- Singleton init now works with the MPD process manager.
Packit Service c5cf8c
Packit Service c5cf8c
- Fixes in MPD related to MPI-2 connect-accept.
Packit Service c5cf8c
Packit Service c5cf8c
- Improved support for MPI-2 generalized requests that allows true
Packit Service c5cf8c
nonblocking I/O in ROMIO.
Packit Service c5cf8c
Packit Service c5cf8c
- MPE changes:
Packit Service c5cf8c
  * Enabled thread-safe MPI logging through global mutex.
Packit Service c5cf8c
  * Enhanced Jumpshot to be more thread friendly
Packit Service c5cf8c
    + added simple statistics in the Legend windows.
Packit Service c5cf8c
  * Added backtrace support to MPE on Solaris and glibc based systems,
Packit Service c5cf8c
    e.g. Linux.  This improves the output error message from the 
Packit Service c5cf8c
    Collective/Datatype checking library.
Packit Service c5cf8c
  * Fixed the CLOG2 format so it can be used in serial (non-MPI) logging.
Packit Service c5cf8c
Packit Service c5cf8c
- Performance improvements for derived datatypes (including packing
Packit Service c5cf8c
and communication) through in-built loop-unrolling and buffer
Packit Service c5cf8c
alignment.
Packit Service c5cf8c
Packit Service c5cf8c
- Performance improvements for MPI_Gather when non-power-of-two
Packit Service c5cf8c
processes are used, and when a non-zero ranked root is performing the
Packit Service c5cf8c
gather.
Packit Service c5cf8c
Packit Service c5cf8c
- MPI_Comm_create works for intercommunicators.
Packit Service c5cf8c
Packit Service c5cf8c
- Enabled -O2 and equivalent compiler optimizations for supported
Packit Service c5cf8c
compilers by default (including GNU, Intel, Portland, Sun, Absoft,
Packit Service c5cf8c
IBM).
Packit Service c5cf8c
Packit Service c5cf8c
- Many other bug fixes, memory leak fixes and code cleanup. A full
Packit Service c5cf8c
list of changes is available at
Packit Service c5cf8c
www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_6changes.htm.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.5
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- An SCTP channel has been added to the CH3 device. This was
Packit Service c5cf8c
  implemented by Brad Penoff and Mike Tsai, Univ. of British Columbia.
Packit Service c5cf8c
  Their group's webpage is located at http://www.cs.ubc.ca/labs/dsg/mpi-sctp/ .
Packit Service c5cf8c
Packit Service c5cf8c
- Bugs related to dynamic processes have been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
- Performance-related fixes have been added to derived datatypes and
Packit Service c5cf8c
  collective communication.
Packit Service c5cf8c
Packit Service c5cf8c
- Updates to the Nemesis channel
Packit Service c5cf8c
Packit Service c5cf8c
- Fixes to thread safety for the ch3:sock channel
Packit Service c5cf8c
Packit Service c5cf8c
- Many other bug fixes and code cleanup.  A full list of changes is available 
Packit Service c5cf8c
  at www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_5changes.htm . 
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.4
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- For the ch3:sock channel, the default build of MPICH2 supports
Packit Service c5cf8c
  thread safety. A separate build is not needed as before. However, 
Packit Service c5cf8c
  thread safety is enabled only if the user calls MPI_Init_thread with  
Packit Service c5cf8c
  MPI_THREAD_MULTIPLE. If not, no thread locks are called, so there
Packit Service c5cf8c
  is no penalty.
Packit Service c5cf8c
Packit Service c5cf8c
- A new low-latency channel called Nemesis has been added. It can be
Packit Service c5cf8c
  selected by specifying the option --with-device=ch3:nemesis.
Packit Service c5cf8c
  Nemesis uses shared memory for intranode communication and various
Packit Service c5cf8c
  networks for internode communication.  Currently available networks
Packit Service c5cf8c
  are TCP, GM and MX.  Nemesis is still a work in progress.  See the
Packit Service c5cf8c
  README for more information about the channel.
Packit Service c5cf8c
Packit Service c5cf8c
- Support has been added for providing message queues to debuggers.
Packit Service c5cf8c
  Configure with --enable-debuginfo to make this information available.
Packit Service c5cf8c
  This is still a "beta" test version and has not been extensively tested.
Packit Service c5cf8c
Packit Service c5cf8c
- For systems with firewalls, the environment variable MPICH_PORT_RANGE can
Packit Service c5cf8c
  be used to restrict the range of ports used by MPICH2.  See the documentation
Packit Service c5cf8c
  for more details.
Packit Service c5cf8c
Packit Service c5cf8c
- Withdrew obsolete modules, including the ib and rdma communication layers.
Packit Service c5cf8c
  For Infiniband and MPICH2, please see 
Packit Service c5cf8c
  http://nowlab.cse.ohio-state.edu/projects/mpi-iba/ 
Packit Service c5cf8c
  For other interconnects, please contact us at mpich2-maint@mcs.anl.gov .
Packit Service c5cf8c
Packit Service c5cf8c
- Numerous bug fixes and code cleanup.  A full list of changes is available 
Packit Service c5cf8c
  at www.mcs.anl.gov/mpi/mpich2/mpich2_1_0_4changes.htm . 
Packit Service c5cf8c
Packit Service c5cf8c
- Numerous new tests in the MPICH2 test suite.
Packit Service c5cf8c
Packit Service c5cf8c
- For developers, the way in which information is passed between the top
Packit Service c5cf8c
  level configure and configures in the device, process management, and
Packit Service c5cf8c
  related modules has been cleaned up.  See the comments at the beginning
Packit Service c5cf8c
  of the top-level configure.in for details.  This change makes it easier
Packit Service c5cf8c
  to interface other modules to MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.3
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- There are major changes to the ch3 device implementation.  Old and 
Packit Service c5cf8c
  unsupported channels (essm, rdma) have been removed.   The
Packit Service c5cf8c
  internal interface between ch3 and the channels has been improved to 
Packit Service c5cf8c
  similify the process of adding a new channel (sharing existing code
Packit Service c5cf8c
  where possible) and to improve performance.  Further changes in this
Packit Service c5cf8c
  internal interface are expected.
Packit Service c5cf8c
Packit Service c5cf8c
- Numerous bug fixes and code cleanup
Packit Service c5cf8c
Packit Service c5cf8c
        Creation of intercommunicators and intracommunicators 
Packit Service c5cf8c
        from the intercommunicators created with Spawn and Connect/Accept
Packit Service c5cf8c
Packit Service c5cf8c
        The computation of the alignment and padding of items within
Packit Service c5cf8c
        structures now handles additional cases, including systems 
Packit Service c5cf8c
        where the alignment an padding depends on the type of the first
Packit Service c5cf8c
	item in the structure
Packit Service c5cf8c
Packit Service c5cf8c
        MPD recognizes wdir info keyword
Packit Service c5cf8c
Packit Service c5cf8c
        gforker's mpiexec supports -env and -genv arguments for controlling
Packit Service c5cf8c
        which environment variables are delivered to created processes
Packit Service c5cf8c
Packit Service c5cf8c
- While not a bug, to aid in the use of memory trace packages, MPICH2
Packit Service c5cf8c
  tries to free all allocated data no later than when MPI_Finalize
Packit Service c5cf8c
  returns.
Packit Service c5cf8c
Packit Service c5cf8c
- Support for DESTDIR in install targets
Packit Service c5cf8c
Packit Service c5cf8c
- Enhancements to SMPD
Packit Service c5cf8c
Packit Service c5cf8c
- In order to support special compiler flags for users that may be
Packit Service c5cf8c
  different from those used to build MPICH2, the environment variables
Packit Service c5cf8c
  MPI_CFLAGS, MPI_FFLAGS, MPI_CXXFLAGS, and MPI_F90FLAGS may be used
Packit Service c5cf8c
  to specify the flags used in mpicc, mpif77, mpicxx, and mpif90 
Packit Service c5cf8c
  respectively.  The flags CFLAGS, FFLAGS, CXXFLAGS, and F90FLAGS are
Packit Service c5cf8c
  used in the building of MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
- Many enhancements to MPE
Packit Service c5cf8c
Packit Service c5cf8c
- Enhanced support for features and idiosyncracies of Fortran 77 and 
Packit Service c5cf8c
  Fortran 90 compilers, including gfortran, g95, and xlf
Packit Service c5cf8c
Packit Service c5cf8c
- Enhanced support for C++ compilers that do not fully support abstract
Packit Service c5cf8c
  base classes
Packit Service c5cf8c
Packit Service c5cf8c
- Additional tests in the mpich2/tests/mpi
Packit Service c5cf8c
    
Packit Service c5cf8c
- New FAQ included (also available at
Packit Service c5cf8c
    http://www.mcs.anl.gov/mpi/mpich2/faq.htm) 
Packit Service c5cf8c
Packit Service c5cf8c
- Man pages for mpiexec and mpif90
Packit Service c5cf8c
Packit Service c5cf8c
- Enhancements for developers, including a more flexible and general 
Packit Service c5cf8c
  mechanism for inserting logging and information messages, controlable
Packit Service c5cf8c
  with --mpich-dbg-xxx command line arguments or MPICH_DBG_XXX environment
Packit Service c5cf8c
  variables.
Packit Service c5cf8c
Packit Service c5cf8c
- Note to developers: 
Packit Service c5cf8c
  This release contains many changes to the structure of the CH3
Packit Service c5cf8c
  device implementation (in src/mpid/ch3), including signficant
Packit Service c5cf8c
  reworking of the files (many files have been combined into fewer files
Packit Service c5cf8c
  representing logical grouping of functions).  The next release of 
Packit Service c5cf8c
  MPICH2 will contain even more significant changes to the device 
Packit Service c5cf8c
  structure as we introduce a new communication implementation.
Packit Service c5cf8c
 
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- Optimizations to the MPI-2 one-sided communication functions for the
Packit Service c5cf8c
  sshm (scalable shared memory) channel when window memory is
Packit Service c5cf8c
  allocated with MPI_Alloc_mem (for all three synchronization methods).
Packit Service c5cf8c
Packit Service c5cf8c
- Numerous bug fixes and code cleanup. 
Packit Service c5cf8c
Packit Service c5cf8c
- Fixed memory leaks.
Packit Service c5cf8c
Packit Service c5cf8c
- Fixed shared library builds.
Packit Service c5cf8c
Packit Service c5cf8c
- Fixed performance problems with MPI_Type_create_subarray/darray 
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes have been made to MPE2:
Packit Service c5cf8c
Packit Service c5cf8c
  - MPE2 now builds the MPI collective and datatype checking library
Packit Service c5cf8c
    by default. 
Packit Service c5cf8c
Packit Service c5cf8c
  - SLOG-2 format has been upgraded to 2.0.6 which supports event drawables
Packit Service c5cf8c
    and provides count of real drawables in preview drawables.
Packit Service c5cf8c
Packit Service c5cf8c
  - new slog2 tools, slog2filter and slog2updater, which both are logfile
Packit Service c5cf8c
    format convertors.  slog2filter removes undesirable categories of
Packit Service c5cf8c
    drawables as well as alters the slog2 file structure.  slog2updater
Packit Service c5cf8c
    is a slog2filter that reads in older logfile format, 2.0.5, and 
Packit Service c5cf8c
    writes out the latest format 2.0.6.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes have been made to MPD:
Packit Service c5cf8c
Packit Service c5cf8c
  - Nearly all code has been replaced by new code that follows a more
Packit Service c5cf8c
    object-oriented approach than before.  This has not changed any
Packit Service c5cf8c
    fundamental behavior or interfaces.
Packit Service c5cf8c
Packit Service c5cf8c
  - There is info support in spawn and spawn_multiple for providing
Packit Service c5cf8c
    parts of the environment for spawned processes such as search-path
Packit Service c5cf8c
    and current working directory.  See the Standard for the required
Packit Service c5cf8c
    fields.
Packit Service c5cf8c
Packit Service c5cf8c
  - mpdcheck has been enhanced to help users debug their cluster and
Packit Service c5cf8c
    network configurations.
Packit Service c5cf8c
Packit Service c5cf8c
  - CPickle has replaced marshal as the source module for dumps and loads.
Packit Service c5cf8c
Packit Service c5cf8c
  - The mpigdb command has been replaced by mpiexec -gdb.
Packit Service c5cf8c
Packit Service c5cf8c
  - Alternate interfaces can be used.  See the Installer's Guide.
Packit Service c5cf8c
 
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 1.0.1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- Copyright statements have been added to all code files, clearly identifying
Packit Service c5cf8c
  that all code in the distribution is covered by the extremely flexible
Packit Service c5cf8c
  copyright described in the COPYRIGHT file.
Packit Service c5cf8c
Packit Service c5cf8c
- The MPICH2 test suite (mpich2/test) can now be run against any MPI
Packit Service c5cf8c
  implementation, not just MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
- The send and receive socket buffers sizes may now be changed by setting
Packit Service c5cf8c
  MPICH_SOCKET_BUFFER_SIZE.  Note: the operating system may impose a maximum
Packit Service c5cf8c
  socket buffer size that prohibits MPICH2 from increasing the buffers to the
Packit Service c5cf8c
  desire size.  To raise the maximum allowable buffer size, please contact your
Packit Service c5cf8c
  system administrator.
Packit Service c5cf8c
Packit Service c5cf8c
- Error handling throughout the MPI routines has been improved.  The error
Packit Service c5cf8c
  handling in some internal routines has been simplified as well, making the
Packit Service c5cf8c
  routines easier to read.
Packit Service c5cf8c
Packit Service c5cf8c
- MPE (Jumpshot and CLOG logging) is now supported on Microsoft Windows.
Packit Service c5cf8c
Packit Service c5cf8c
- C applications built for Microsoft Windows may select the desired channels at
Packit Service c5cf8c
  runtime.
Packit Service c5cf8c
Packit Service c5cf8c
- A program not started with mpiexec may become an MPI program by calling
Packit Service c5cf8c
  MPI_Init.  It will have an MPI_COMM_WORLD of size one.  It may then call
Packit Service c5cf8c
  other MPI routines, including MPI_COMM_SPAWN, to become a truly parallel
Packit Service c5cf8c
  program.  At present, the use of MPI_COMM_SPAWN and MPI_COMM_SPAWN_MULTIPLE
Packit Service c5cf8c
  by such a process is only supported by the MPD process manager.
Packit Service c5cf8c
Packit Service c5cf8c
- Memory leaks in communicator allocation and the C++ binding have been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
- Following GNU guidelines, the parts of the install step that checked the
Packit Service c5cf8c
  installation have been moved to an installcheck target.  Much of the
Packit Service c5cf8c
  installation now supports the DESTDIR prefix.
Packit Service c5cf8c
Packit Service c5cf8c
- Microsoft Visual Studio projects have been added to make it possible to build
Packit Service c5cf8c
  x86-64 version
Packit Service c5cf8c
Packit Service c5cf8c
- Problems with compilers and linkers that do not support weak symbols, which
Packit Service c5cf8c
  are used to support the PMPI profiling interface, have been corrected.
Packit Service c5cf8c
Packit Service c5cf8c
- Handling of Fortran 77 and Fortran 90 compilers has been improved, including
Packit Service c5cf8c
  support for g95.
Packit Service c5cf8c
Packit Service c5cf8c
- The Fortran stdcall interface on Microsoft Windows now supports character*.
Packit Service c5cf8c
Packit Service c5cf8c
- A bug in the OS X implementation of poll() caused the sock channel to hang.
Packit Service c5cf8c
  A workaround has been put in place.
Packit Service c5cf8c
Packit Service c5cf8c
- Problems with installation under OS/X are now detected and corrected.
Packit Service c5cf8c
  (Install breaks libraries that are more than 10 seconds old!)
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes have been made to MPD:
Packit Service c5cf8c
Packit Service c5cf8c
  - Sending a SIGINT to mpiexec/mpdrun, such as by typing control-C, now causes
Packit Service c5cf8c
    SIGINT to be sent to the processes within the job.  Previously, SIGKILL was
Packit Service c5cf8c
    sent to the processes, preventing applications from catching the signal 
Packit Service c5cf8c
    and performing their own signal processing.
Packit Service c5cf8c
Packit Service c5cf8c
  - The process for merging output has been improved.
Packit Service c5cf8c
Packit Service c5cf8c
  - A new option, -ifhn, has been added to the machine file, allowing the user
Packit Service c5cf8c
    to select the destination interface to be used for TCP communication.  See
Packit Service c5cf8c
    the User's Manual for details.
Packit Service c5cf8c
Packit Service c5cf8c
  - The user may now select, via the "-s" option to mpiexec/mpdrun, which
Packit Service c5cf8c
    processes receive input through stdin.  stdin is immediately closed for all
Packit Service c5cf8c
    processes not in set receiving input.  This prevents processes not in the
Packit Service c5cf8c
    set from hanging should they attempt to read from stdin.
Packit Service c5cf8c
Packit Service c5cf8c
  - The MPICH2 Installer's Guide now contains an appendix on troubleshooting
Packit Service c5cf8c
    problems with MPD.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes have been made to SMPD:
Packit Service c5cf8c
Packit Service c5cf8c
  - On Windows machines, passwordless authentication (via SSPI) can now be used
Packit Service c5cf8c
    to start processes on machines within a domain.  This feature is a recent
Packit Service c5cf8c
    addition, and should be considered experimental.
Packit Service c5cf8c
Packit Service c5cf8c
  - On Windows machines, the -localroot option was added to mpiexec, allowing
Packit Service c5cf8c
    processes on the local machines to perform GUI operations on the local
Packit Service c5cf8c
    desktop.
Packit Service c5cf8c
Packit Service c5cf8c
  - On Windows machines, network drive mapping is now supported via the -map
Packit Service c5cf8c
    option to mpiexec.
Packit Service c5cf8c
Packit Service c5cf8c
  - Three new GUI tools have been added for Microsoft Windows.  These tools are
Packit Service c5cf8c
    wrappers to the command line tools, mpiexec.exe and smpd.exe.  wmpiexec
Packit Service c5cf8c
    allows the user to run a job much in the way they with mpiexec.  wmpiconfig
Packit Service c5cf8c
    provides a means of setting various global options to the SMPD process
Packit Service c5cf8c
    manager environment.  wmpiregister encrypts the user's credentials and
Packit Service c5cf8c
    saves them to the Windows Registry.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes have been made to MPE2:
Packit Service c5cf8c
Packit Service c5cf8c
  - MPE2 no longer attempt to compile or link code during 'make install' to
Packit Service c5cf8c
    validate the installation.  Instead, 'make installcheck' may now be used to
Packit Service c5cf8c
    verify that the MPE installation.
Packit Service c5cf8c
Packit Service c5cf8c
  - MPE2 now supports DESTDIR.
Packit Service c5cf8c
Packit Service c5cf8c
- The sock channel now has preliminary support for MPI_THREAD_SERIALIZED and
Packit Service c5cf8c
  MPI_THREAD_MULTIPLE on both UNIX and Microsoft Windows.  We have performed
Packit Service c5cf8c
  rudimentary testing; and while overall the results were very positive, known
Packit Service c5cf8c
  issues do exist.  ROMIO in particular experiences hangs in several places.
Packit Service c5cf8c
  We plan to correct that in the next release.  As always, please report any
Packit Service c5cf8c
  difficulties you encounter.
Packit Service c5cf8c
Packit Service c5cf8c
- Another channel capable of communicating with both over sockets and shared
Packit Service c5cf8c
  memory has been added.  Unlike the ssm channel which waits for new data to
Packit Service c5cf8c
  arrive by continuously polling the system in a busy loop, the essm channel
Packit Service c5cf8c
  waits by blocking on an operating system event object.  This channel is
Packit Service c5cf8c
  experimental, and is only available for Microsoft Windows.
Packit Service c5cf8c
Packit Service c5cf8c
- The topology routines have been modified to allow the device to override the
Packit Service c5cf8c
  default implementation.  This allows the device to export knowledge of the
Packit Service c5cf8c
  underlying physical topology to the MPI routines (Dims_create and the
Packit Service c5cf8c
  reorder == true cases in Cart_create and Graph_create).  
Packit Service c5cf8c
Packit Service c5cf8c
- New memory allocation macros, MPIU_CHK[PL]MEM_*(), have been added to help
Packit Service c5cf8c
  prevent memory leaks.  See mpich2/src/include/mpir_mem.h.
Packit Service c5cf8c
Packit Service c5cf8c
- New error reporting macros, MPIU_ERR_*, have been added to simplify the error
Packit Service c5cf8c
  handling throughout the code, making the code easier to read.  See
Packit Service c5cf8c
  mpich2/src/include/mpir_err.h.
Packit Service c5cf8c
Packit Service c5cf8c
- Interprocess communication using the Sock interface (sock and ssm channels)
Packit Service c5cf8c
  may now be bound to a particular destination interface using the environment
Packit Service c5cf8c
  variable MPICH_INTERFACE_HOSTNAME.  The variable needs to be set for each
Packit Service c5cf8c
  process for which the destination interface is not the default interface.
Packit Service c5cf8c
  (Other mechanisms for destination interface selection will be provided in
Packit Service c5cf8c
  future releases.)  Both MPD and SMPD provide a more simplistic mechanism for
Packit Service c5cf8c
  specifying the interface.  See the user documentation.
Packit Service c5cf8c
Packit Service c5cf8c
- Too many bug fixes to describe.  Much thanks goes to the users who reported
Packit Service c5cf8c
  bugs.  Their patience and understanding as we attempted to recreate the
Packit Service c5cf8c
  problems and solve them is greatly appreciated.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
				Changes in 1.0
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- MPICH2 now works on Solaris.
Packit Service c5cf8c
Packit Service c5cf8c
- The User's Guide has been expanded considerably.  The Installation Guide has
Packit Service c5cf8c
  been expanded some as well.
Packit Service c5cf8c
Packit Service c5cf8c
- MPI_COMM_JOIN has been implemented; although like the other dynamic process
Packit Service c5cf8c
  routines, it is only supported by the Sock channel.
Packit Service c5cf8c
Packit Service c5cf8c
- MPI_COMM_CONNECT and MPI_COMM_ACCEPT are now allowed to connect with remote
Packit Service c5cf8c
  process to which they are already connected.
Packit Service c5cf8c
Packit Service c5cf8c
- Shared libraries can now be built (and used) on IA32 Linux with the GNU
Packit Service c5cf8c
  compilers (--enable-sharedlibs=gcc), and on Solaris with the native Sun
Packit Service c5cf8c
  Workshop compilers (--enable-sharedlibs=solaris).  They may also work on
Packit Service c5cf8c
  other operating systems with GCC, but that has not been tested.  Previous
Packit Service c5cf8c
  restrictions disallowing C++ and Fortran bindings when building shared
Packit Service c5cf8c
  libraries have been removed.
Packit Service c5cf8c
Packit Service c5cf8c
- The dataloop and datatype contents code has been improved to address
Packit Service c5cf8c
  alignment issues on all platforms.
Packit Service c5cf8c
Packit Service c5cf8c
- A bug in the datatype code, which handled zero block length cases
Packit Service c5cf8c
  incorrectly, has been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
- An segmentation fault in the datatype memory management, resulting from
Packit Service c5cf8c
  freeing memory twice, has been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes were made to the MPD process manager:
Packit Service c5cf8c
Packit Service c5cf8c
  - MPI_SPAWN_MULTIPLE now works with MPD.
Packit Service c5cf8c
Packit Service c5cf8c
  - The arguments to the 'mpiexec' command supplied by the MPD have changed.
Packit Service c5cf8c
    First, the -default option has been removed.  Second, more flexible ways to
Packit Service c5cf8c
    pass environment variables have been added.
Packit Service c5cf8c
Packit Service c5cf8c
  - The commands 'mpdcheck' and 'testconfig' have been to installations using
Packit Service c5cf8c
    MPD.  These commands test the setup of the machines on which you wish to
Packit Service c5cf8c
    run MPICH2 jobs.  They help to identify misconfiguration, firewall issues,
Packit Service c5cf8c
    and other communication problems.
Packit Service c5cf8c
Packit Service c5cf8c
  - Support for MPI_APPNUM and MPI_UNIVERSE_SIZE has been added to the Simple
Packit Service c5cf8c
    implementation of PMI and the MPD process manager.
Packit Service c5cf8c
Packit Service c5cf8c
  - In general, error detection and recovery in MPD has improved.
Packit Service c5cf8c
Packit Service c5cf8c
- A new process manager, gforker, is now available.  Like the forker process
Packit Service c5cf8c
  manager, gforker spawns processes using fork(), and thus is quite useful on
Packit Service c5cf8c
  SMPs machines.  However, unlike forker, gforker supports all of the features
Packit Service c5cf8c
  of a standard mpiexec, plus some.  Therefore, It should be used in place of
Packit Service c5cf8c
  the previous forker process manager, which is now deprecated.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes were made to ROMIO:
Packit Service c5cf8c
Packit Service c5cf8c
  - The amount of duplicated ROMIO code in the close, resize, preallocate,
Packit Service c5cf8c
    read, write, asynchronous I/O, and sync routines has been substantially
Packit Service c5cf8c
    reduced.
Packit Service c5cf8c
Packit Service c5cf8c
  - A bug in flattening code, triggered by nested datatypes, has been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
  - Some small memory leaks have been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
  - The error handling has been abstracted allowing different MPI
Packit Service c5cf8c
    implementations to handle and report error conditions in their own way.
Packit Service c5cf8c
    Using this abstraction, the error handling routines have been made
Packit Service c5cf8c
    consistent with rest of MPICH2.
Packit Service c5cf8c
Packit Service c5cf8c
  - AIO support has been cleaned up and unified.  It now works correctly on
Packit Service c5cf8c
    Linux, and is properly detected on old versions of AIX.
Packit Service c5cf8c
Packit Service c5cf8c
  - A bug in MPI_File_seek code, and underlying support code, has been fixed.
Packit Service c5cf8c
Packit Service c5cf8c
  - Support for PVFS2 has improved.
Packit Service c5cf8c
Packit Service c5cf8c
  - Several dead file systems have been removed.  Others, including HFS, SFS,
Packit Service c5cf8c
    PIOFS, and Paragon, have been deprecated.
Packit Service c5cf8c
Packit Service c5cf8c
- MPE and CLOG have been updated to version 2.1. For more details, please see
Packit Service c5cf8c
  src/mpe2/README.
Packit Service c5cf8c
Packit Service c5cf8c
- New macros for memory management were added to support function local
Packit Service c5cf8c
  allocations (alloca), to rollback pending allocations when error conditions
Packit Service c5cf8c
  are detected to avoid memory leaks, and to improve the conciseness of code
Packit Service c5cf8c
  performing memory allocations.
Packit Service c5cf8c
Packit Service c5cf8c
- New error handling macros were added to make internal error handling code
Packit Service c5cf8c
  more concise.
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
			       Changes in 0.971
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- Code restricted by copyrights less flexible than the one described in the
Packit Service c5cf8c
  COPYRIGHT file has been removed.
Packit Service c5cf8c
Packit Service c5cf8c
- Installation and User Guides have been added.
Packit Service c5cf8c
Packit Service c5cf8c
- The SMPD PMI Wire Protocol Reference Manual has been updated.
Packit Service c5cf8c
Packit Service c5cf8c
- To eliminate portability problems, common blocks in mpif.h that spanned
Packit Service c5cf8c
  multiple lines were broken up into multiple common blocks each described on a
Packit Service c5cf8c
  single line.
Packit Service c5cf8c
Packit Service c5cf8c
- A new command, mpich2version, was added to allow the user to obtain
Packit Service c5cf8c
  information about the MPICH2 installation.  This command is currently a
Packit Service c5cf8c
  simple shell script.  We anticipate that the mpich2version command will
Packit Service c5cf8c
  eventually provide additional information such as the patches applied and the
Packit Service c5cf8c
  date of the release.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes were made to MPD2:
Packit Service c5cf8c
Packit Service c5cf8c
  - Support was added for MPI's "singleton init", in which a single
Packit Service c5cf8c
    process started in the normal way (i.e., not by mpiexec or mpirun)
Packit Service c5cf8c
    becomes an MPI process with an MPI_COMM_WORLD of size one by
Packit Service c5cf8c
    calling MPI_Init.  After this the process can call other MPI
Packit Service c5cf8c
    functions, including MPI_Comm_spawn.
Packit Service c5cf8c
Packit Service c5cf8c
  - The format for some of the arguments to mpiexec have changed,
Packit Service c5cf8c
    especially for passing environment variables to MPI processes.
Packit Service c5cf8c
Packit Service c5cf8c
  - In addition to miscellaneous hardening, better error checking and
Packit Service c5cf8c
    messages have been added.
Packit Service c5cf8c
Packit Service c5cf8c
  - The install process has been improved.  In particular, configure
Packit Service c5cf8c
    has been updated to check for a working install program and supply
Packit Service c5cf8c
    it's own installation script (install.sh) if necessary.
Packit Service c5cf8c
Packit Service c5cf8c
  - A new program, mpdcheck, has been added to help diagnose machine
Packit Service c5cf8c
    configurations that might be erroneous or at least confusing to
Packit Service c5cf8c
    mpd.
Packit Service c5cf8c
Packit Service c5cf8c
  - Runtime version checking has been added to insure that the Simple
Packit Service c5cf8c
    implementation of PMI linked into the application and the MPD
Packit Service c5cf8c
    process manager being used to run that application are compatible.
Packit Service c5cf8c
Packit Service c5cf8c
  - Minor improvements have been made to mpdboot.
Packit Service c5cf8c
Packit Service c5cf8c
  - Support for the (now deprecated) BNR interface has been added to
Packit Service c5cf8c
    allow MPICH1 programs to also be run via MPD2.
Packit Service c5cf8c
Packit Service c5cf8c
- Shared libraries are now supported on Linux systems using the GNU compilers
Packit Service c5cf8c
  with the caveat that C++ support must be disabled (--disable-cxx).
Packit Service c5cf8c
Packit Service c5cf8c
- The CH3 interface and device now provide a mechanism for using RDMA (remote
Packit Service c5cf8c
  direct memory access) to transfer data between processes.
Packit Service c5cf8c
Packit Service c5cf8c
- Logging capabilities for MPI and internal routines have been readded.  See
Packit Service c5cf8c
  the documentation in doc/logging for details.
Packit Service c5cf8c
Packit Service c5cf8c
- A "meminit" option was added to --enable-g to force all bytes associated with
Packit Service c5cf8c
  a structure or union to be initialized prior to use.  This prevents programs
Packit Service c5cf8c
  like Valgrind from complaining about uninitialized accesses.
Packit Service c5cf8c
Packit Service c5cf8c
- The dist-with-version and snap targets in the top-level Makefile.sm now
Packit Service c5cf8c
  properly produce mpich2-<ver>/maint/Version instead of mpich2-<ver>/Version.
Packit Service c5cf8c
  In addition, they now properly update the VERSION variable in Makefile.sm
Packit Service c5cf8c
  without clobbering the sed line that performs the update.
Packit Service c5cf8c
Packit Service c5cf8c
- The dist and snap targets in the top-level Makefile.sm now both use the
Packit Service c5cf8c
  dist-with-version target to avoid inconsistencies.
Packit Service c5cf8c
Packit Service c5cf8c
- The following changes were made to simplemake:
Packit Service c5cf8c
Packit Service c5cf8c
  - The environment variables DEBUG, DEBUG_DIRS, and DEBUG_CONFDIR can now be
Packit Service c5cf8c
    used to control debugging output.
Packit Service c5cf8c
Packit Service c5cf8c
  - Many fixes were made to make simplemake so that it would run cleanly with
Packit Service c5cf8c
    perl -w.
Packit Service c5cf8c
Packit Service c5cf8c
  - Installation of *all* files from a directory is now possible (example,
Packit Service c5cf8c
    installing all of the man pages).
Packit Service c5cf8c
Packit Service c5cf8c
  - The clean targets now remove the cache files produced by newer versions of
Packit Service c5cf8c
    autoconf.
Packit Service c5cf8c
Packit Service c5cf8c
  - For files that are created by configure, the determination of the
Packit Service c5cf8c
    location of that configure has been improved, so that make of those
Packit Service c5cf8c
    files (e.g., make Makefile) is more likely to work.  There is still 
Packit Service c5cf8c
    more to do here.
Packit Service c5cf8c
Packit Service c5cf8c
  - Short loops over subdirectories are now unrolled.
Packit Service c5cf8c
Packit Service c5cf8c
  - The maintainerclean target has been renamed to maintainer-clean to match
Packit Service c5cf8c
    GNU guidelines.
Packit Service c5cf8c
Packit Service c5cf8c
  - The distclean and maintainer-clean targets have been improved.
Packit Service c5cf8c
Packit Service c5cf8c
  - An option was added to perform one ar command per directory instead of one
Packit Service c5cf8c
    per file when creating the profiling version of routines (needed only for
Packit Service c5cf8c
    systems that do not support weak symbols).
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
				Changes in 0.97
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
- MPI-2 one-sided communication has been implemented in the CH3 device.
Packit Service c5cf8c
Packit Service c5cf8c
- mpigdb works as a simple parallel debugger for MPI programs started
Packit Service c5cf8c
  with mpd.  New since MPICH1 is the ability to attach to running
Packit Service c5cf8c
  parallel programs.  See the README in mpich2/src/pm/mpd for details.
Packit Service c5cf8c
Packit Service c5cf8c
- MPI_Type_create_darray() and MPI_Type_create_subarray() implemented including
Packit Service c5cf8c
  the right contents and envelope data.
Packit Service c5cf8c
Packit Service c5cf8c
- ROMIO flattening code now supports subarray and darray combiners.
Packit Service c5cf8c
Packit Service c5cf8c
- Improve scalability and performance of some ROMIO PVFS and PVFS2 routines 
Packit Service c5cf8c
Packit Service c5cf8c
- An error message string parameter was added to MPID_Abort().  If the
Packit Service c5cf8c
  parameter is non-NULL this string will be used as the message with the abort
Packit Service c5cf8c
  output.  Otherwise, the output message will be base on the error message
Packit Service c5cf8c
  associated with the mpi_errno parameter.
Packit Service c5cf8c
Packit Service c5cf8c
- MPID_Segment_init() now takes an additional boolean parameter that specifies
Packit Service c5cf8c
  if the segment processing code is to produce/consume homogeneous (FALSE) or
Packit Service c5cf8c
  heterogeneous (TRUE) data.
Packit Service c5cf8c
Packit Service c5cf8c
- The definitions of MPID_VCR and MPID_VCRT are now defined by the device.
Packit Service c5cf8c
Packit Service c5cf8c
- The semantics of MPID_Progress_{Start,Wait,End}() have changed.  A typical
Packit Service c5cf8c
  blocking progress loop now looks like the following.
Packit Service c5cf8c
Packit Service c5cf8c
  if (req->cc != 0)
Packit Service c5cf8c
  {
Packit Service c5cf8c
      MPID_Progress_state progress_state;
Packit Service c5cf8c
Packit Service c5cf8c
      MPID_Progress_start(&progress_state);
Packit Service c5cf8c
      while (req->cc != 0)
Packit Service c5cf8c
      {
Packit Service c5cf8c
          mpi_errno = MPID_Progress_wait(&progress_state);
Packit Service c5cf8c
          if (mpi_errno != MPI_SUCCESS)
Packit Service c5cf8c
          {
Packit Service c5cf8c
              /* --BEGIN ERROR HANDLING-- */
Packit Service c5cf8c
              MPID_Progress_end(&progress_state);
Packit Service c5cf8c
              goto fn_fail;
Packit Service c5cf8c
              /* --END ERROR HANDLING-- */
Packit Service c5cf8c
          }
Packit Service c5cf8c
      }
Packit Service c5cf8c
      MPID_Progress_end(&progress_state);
Packit Service c5cf8c
  }
Packit Service c5cf8c
Packit Service c5cf8c
  NOTE: each of these routines now takes a single parameter, a pointer to a
Packit Service c5cf8c
  thread local state variable.
Packit Service c5cf8c
Packit Service c5cf8c
- The CH3 device and interface have been modified to better support
Packit Service c5cf8c
  MPI_COMM_{SPAWN,SPAWN_MULTIPLE,CONNECT,ACCEPT,DISCONNECT}.  Channels
Packit Service c5cf8c
  writers will notice the following.  (This is still a work in progress.  See
Packit Service c5cf8c
  the note below.)
Packit Service c5cf8c
Packit Service c5cf8c
  - The introduction of a process group object (MPIDI_PG_t) and a new
Packit Service c5cf8c
    set of routines to manipulate that object.
Packit Service c5cf8c
Packit Service c5cf8c
  - The renaming of the MPIDI_VC object to MPIDI_VC_t to make it more
Packit Service c5cf8c
    consistent with the naming of other objects in the device.
Packit Service c5cf8c
Packit Service c5cf8c
  - The process group information in the MPIDI_VC_t moved from the channel
Packit Service c5cf8c
    specific portion to the device layer.
Packit Service c5cf8c
Packit Service c5cf8c
  - MPIDI_CH3_Connection_terminate() was added to the CH3 interface to allow
Packit Service c5cf8c
    the channel to properly shutdown a connection before the device deletes all
Packit Service c5cf8c
    associated data structures.
Packit Service c5cf8c
Packit Service c5cf8c
  - A new upcall routine, MPIDI_CH3_Handle_connection(), was added to allow the
Packit Service c5cf8c
    device to notify the device when a connection related event has completed.
Packit Service c5cf8c
    A present the only event is MPIDI_CH3_VC_EVENT_TERMINATED, which notify the
Packit Service c5cf8c
    device that the underlying connection associated with a VC has been
Packit Service c5cf8c
    properly shutdown.  For every call to MPIDI_CH3_Connection_terminate() that
Packit Service c5cf8c
    the device makes, the channel must make a corresponding upcall to
Packit Service c5cf8c
    MPIDI_CH3_Handle_connection().  MPID_Finalize() will likely hang if this
Packit Service c5cf8c
    rule is not followed.
Packit Service c5cf8c
Packit Service c5cf8c
  - MPIDI_CH3_Get_parent_port() was added to provide MPID_Init() with the port
Packit Service c5cf8c
    name of the the parent (spawner).  This port name is used by MPID_Init()
Packit Service c5cf8c
    and MPID_Comm_connect() to create an intercommunicator between the parent
Packit Service c5cf8c
    (spawner) and child (spawnee).  Eventually, MPID_Comm_spawn_multiple() will
Packit Service c5cf8c
    be update to perform the reverse logic; however, the logic is presently
Packit Service c5cf8c
    still in the sock channel.
Packit Service c5cf8c
Packit Service c5cf8c
  Note: the changes noted are relatively fresh and are the beginning to a set
Packit Service c5cf8c
  of future changes.  The goal is to minimize the amount of code required by a
Packit Service c5cf8c
  channel to support MPI dynamic process functionality.  As such, portions of
Packit Service c5cf8c
  the device will change dramatically in a future release.  A few more changes
Packit Service c5cf8c
  to the CH3 interface are also quite likely.
Packit Service c5cf8c
Packit Service c5cf8c
- MPIDI_CH3_{iRead,iWrite}() have been removed from the CH3 interface.
Packit Service c5cf8c
  MPIDI_CH3U_Handle_recv_pkt() now returns a receive request with a populated
Packit Service c5cf8c
  iovec to receive data associated with the request.
Packit Service c5cf8c
  MPIDU_CH3U_Handle_{recv,send}_req() reload the iovec in the request and
Packit Service c5cf8c
  return and set the complete argument to TRUE if more data is to read or
Packit Service c5cf8c
  written.  If data transfer for the request is complete, the complete argument
Packit Service c5cf8c
  must be set to FALSE.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
=============================================================================== 
Packit Service c5cf8c
                               Changes in 0.96p2
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
The shm and ssm channels have been added back into the distribution.
Packit Service c5cf8c
Officially, these channels are supported only on x86 platforms using the gcc
Packit Service c5cf8c
compiler.  The necessary assembly instructions to guarantee proper ordering of
Packit Service c5cf8c
memory operations are lacking for other platforms and compilers.  That said, we
Packit Service c5cf8c
have seen a high success rate when testing these channels on unsupported
Packit Service c5cf8c
systems.
Packit Service c5cf8c
Packit Service c5cf8c
This patch release also includes a new unsupported channel.  The scalable
Packit Service c5cf8c
shared memory, or sshm, channel is similar to the shm channel except that it
Packit Service c5cf8c
allocates shared memory communication queues only when necessary instead of
Packit Service c5cf8c
preallocating N-squared queues.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                               Changes in 0.96p1
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
This patch release fixes a problem with building MPICH2 on Microsoft Windows
Packit Service c5cf8c
platforms.  It also corrects a serious bug in the poll implementation of the
Packit Service c5cf8c
Sock interface.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
                                Changes in 0.96
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
The 0.96 distribution is largely a bug fix release.  In addition to the many
Packit Service c5cf8c
bug fixes, major improvements have been made to the code that supports the
Packit Service c5cf8c
dynamic process management routines (MPI_Comm_{connect,accept,spawn,...}()).
Packit Service c5cf8c
Additional changes are still required to support MPI_Comm_disconnect().
Packit Service c5cf8c
Packit Service c5cf8c
We also added an experimental (and thus completely unsupported) rdma device.
Packit Service c5cf8c
The internal interface is similar to the CH3 interface except that it contains
Packit Service c5cf8c
a couple of extra routines to inform the device about data transfers using the
Packit Service c5cf8c
rendezvous protocol.  The channel can use this extra information to pin memory
Packit Service c5cf8c
and perform a zero-copy transfer.  If all goes well, the results will be rolled
Packit Service c5cf8c
back into the CH3 device.
Packit Service c5cf8c
Packit Service c5cf8c
Due to last minute difficulties, this release does not contain the shm or ssm
Packit Service c5cf8c
channels.  These channels will be included in a subsequent patch release.
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
				Changes in 0.94
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
Active target one-sided communication is now available for the ch3:sock
Packit Service c5cf8c
channel.  This new functionality has undergone some correctness testing but has
Packit Service c5cf8c
not been optimized in terms of performance.  Future release will include
Packit Service c5cf8c
performance enhancements, passive target communication, and availability in
Packit Service c5cf8c
channels other than just ch3:sock.
Packit Service c5cf8c
Packit Service c5cf8c
The shared memory channel (ch3:shm), which performs communication using shared
Packit Service c5cf8c
memory on a single machine, is now complete and has been extensively tested.
Packit Service c5cf8c
At present, this channel only supports IA32 based machines (excluding the
Packit Service c5cf8c
Pentium Pro which has a memory ordering bug).  In addition, this channel must
Packit Service c5cf8c
be compiled with gcc.  Future releases with support additional architectures
Packit Service c5cf8c
and compilers.
Packit Service c5cf8c
Packit Service c5cf8c
A new channel has been added that performs inter-node communication using
Packit Service c5cf8c
sockets (TCP/IP) and intra-node communication using shared memory.  This
Packit Service c5cf8c
channel, ch3:ssm, is ideal for clusters of SMPs.  Like the shared memory
Packit Service c5cf8c
channel (ch3:shm), this channel only supports IA32 based machines and must be
Packit Service c5cf8c
compiled with gcc.  In future releases, the ch3:ssm channel will support
Packit Service c5cf8c
additional architectures and compilers.
Packit Service c5cf8c
Packit Service c5cf8c
The two channels that perform commutation using shared memory, ch3:shm and
Packit Service c5cf8c
ch3:ssm, now support the allocation of shared memory using both the POSIX and
Packit Service c5cf8c
System V interfaces.  The POSIX interface will be used if available; otherwise,
Packit Service c5cf8c
the System V interface is used.
Packit Service c5cf8c
Packit Service c5cf8c
In the interest of increasing portability, many enhancements have been made to
Packit Service c5cf8c
both the code and the configure scripts.
Packit Service c5cf8c
Packit Service c5cf8c
And, as always, many bugs have been fixed :-).
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
***** INTERFACE CHANGES ****
Packit Service c5cf8c
Packit Service c5cf8c
The parameters to MPID_Abort() have changed.  MPID_Abort() now takes a pointer
Packit Service c5cf8c
to communicator object, an MPI error code, and an exit code.
Packit Service c5cf8c
Packit Service c5cf8c
MPIDI_CH3_Progress() has been split into two functions:
Packit Service c5cf8c
 MPIDI_CH3_Progress_wait() and MPIDI_CH3_Progress_test().
Packit Service c5cf8c
Packit Service c5cf8c
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
				Changes in 0.93
Packit Service c5cf8c
===============================================================================
Packit Service c5cf8c
Packit Service c5cf8c
Version 0.93 has undergone extensive changes to provide better error reporting.
Packit Service c5cf8c
Part of these changes involved modifications to the ADI3 and CH3 interfaces.
Packit Service c5cf8c
The following routines now return MPI error codes:
Packit Service c5cf8c
Packit Service c5cf8c
MPID_Cancel_send()
Packit Service c5cf8c
MPID_Cancel_recv()
Packit Service c5cf8c
MPID_Progress_poke()
Packit Service c5cf8c
MPID_Progress_test()
Packit Service c5cf8c
MPID_Progress_wait()
Packit Service c5cf8c
MPIDI_CH3_Cancel_send()
Packit Service c5cf8c
MPIDI_CH3_Progress()
Packit Service c5cf8c
MPIDI_CH3_Progress_poke()
Packit Service c5cf8c
MPIDI_CH3_iRead()
Packit Service c5cf8c
MPIDI_CH3_iSend()
Packit Service c5cf8c
MPIDI_CH3_iSendv()
Packit Service c5cf8c
MPIDI_CH3_iStartmsg()
Packit Service c5cf8c
MPIDI_CH3_iStartmsgv()
Packit Service c5cf8c
MPIDI_CH3_iWrite()
Packit Service c5cf8c
MPIDI_CH3U_Handle_recv_pkt()
Packit Service c5cf8c
MPIDI_CH3U_Handle_recv_req()
Packit Service c5cf8c
MPIDI_CH3U_Handle_send_req()
Packit Service c5cf8c
Packit Service c5cf8c
*******************************************************************************
Packit Service c5cf8c
Of special note are MPID_Progress_test(), MPID_Progress_wait() and
Packit Service c5cf8c
MPIDI_CH3_Progress() which previously returned an integer value indicating if
Packit Service c5cf8c
one or more requests had completed.  They no longer return this value and
Packit Service c5cf8c
instead return an MPI error code (also an integer).  The implication being that
Packit Service c5cf8c
while the semantics changed, the type signatures did not.
Packit Service c5cf8c
*******************************************************************************
Packit Service c5cf8c
Packit Service c5cf8c
The function used to create error codes, MPIR_Err_create_code(), has also
Packit Service c5cf8c
changed.  It now takes additional parameters, allowing it create a stack of
Packit Service c5cf8c
errors and making it possible for the reporting function to indicate in which
Packit Service c5cf8c
function and on which line the error occurred.  It also allows an error to be
Packit Service c5cf8c
designated as fatal or recoverable.  Fatal errors always result in program
Packit Service c5cf8c
termination regardless of the error handler installed by the application.
Packit Service c5cf8c
Packit Service c5cf8c
A RDMA channel has been added and includes communication methods for shared
Packit Service c5cf8c
memory and shmem.  This is recent development and the RDMA interface is still
Packit Service c5cf8c
in flux.