Charm++ Release 6.8.2

This is a backwards-compatible patch/bug-fix release, containing just a few changes. The primary improvements are

  • Fix a crash in SMP builds on the OFI network layer
  • Improve performance of the PAMI network layer on POWER8 systems by adjusting message-size thresholds for different protocols

The code can be found in our Git repository as tag ‘v6.8.2’ or in a tarball


Charm++ Release 6.8.1

What’s new in Charm++ 6.8.1

This is a backwards-compatible patch/bug-fix release. Roughly 100 bug fixes, improvements, and cleanups have been applied across the entire system. Notable changes are described below:

  • General System Improvements
    1. Enable network- and node-topology-aware trees for group and chare array reductions and broadcasts
    2. Add a message receive ‘fast path’ for quicker array element lookup
    3. Feature #1434: Optimize degenerate CkLoop cases
    4. Fix a rare race condition in Quiescence Detection that could allow it to fire prematurely (bug #1658)
      • Thanks to Nikhil Jain (LLNL) and Karthik Senthil for isolating this in the Quicksilver proxy application
    5. Fix various LB bugs
      1. Fix RefineSwapLB to properly handle non-migratable objects
      2. GreedyRefine: improvements for concurrent=false and HybridLB integration
      3. Bug #1649: NullLB shouldnt wait for LB period
    6. Fix Projections tracing bug #1437: CkLoop work traces to the previous entry on the PE rather than to the caller
    7. Modify [aggregate] entry method (TRAM) support to only deliver PE-local messages inline for [inline]-annotated methods. This avoids the potential for excessively deep recursion that could overrun thread stacks.
    8. Fix various compilation warnings
  • Platform Support
    1. Improve experimental support for PAMI network layer on POWER8 Linux platforms
      • Thanks to Sameer Kumar of IBM for contributing these patches
    2. Add an experimental ‘ofi’ network layer to run on Intel Omni-Path hardware using libfabric
      • Thanks to Yohann Burette and Mikhail Shiryaev of Intel for contributing this new network layer
    3. The GNI network layer (used on Cray XC/XK/XE systems) now respects the ++quiet command line argument during startup
  • AMPI Improvements
    1. Support for MPIINPLACE in all collectives and for persistent requests
    2. Improved Alltoall(v,w) implementations
    3. AMPI now passes all MPICH-3.2 tests for groups, virtual topologies, and infos
    4. Fixed Isomalloc to not leave behind mapped memory when migrating off a PE