top of page

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 casesFix 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]

  4. Fix various LB bugs

  5. Fix RefineSwapLB to properly handle non-migratable objects

  6. GreedyRefine: improvements for concurrent=false and HybridLB integration

  7. Bug #1649: NullLB shouldnt wait for LB period

  8. Fix Projections tracing bug #1437: CkLoop work traces to the previous entry on the PE rather than to the caller

  9. 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.

  10. 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

Recent Posts

See All


bottom of page