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

2017 NERSC Award for Innovative Use of HPC

A team led by Abhinav Bhatele of Lawrence Livermore National Laboratory is being honored for using NERSC resources to determine the scaling for a realistic simulation of an infectious disease on the national level. To predict how much processing power these simulations would take, the team ran experiments on various supercomputers, including NERSC’s Edison system, using the EpiSimDemics simulator, a highly scalable, parallel code written in Charm++ that uses agent-based modeling to simulate disease spreads over large, realistic, co-evolving interaction networks. This study will help future scientists predict and contain the spread of infectious diseases on the national scale. The other team members were Jae-Seung Yeom, Nikhil Jain, Chris Kuhlman, Yarden Livnat, Keith Bisset, Laxmikant Kale and Madhav Marathe.

Charm++ at SC17

Charm++ will have a big presence at #SC17:
* A Tutorial for new users
* A Birds of a Feather Session
* A poster presentation at the Intel HPC Developers Conference
* Charmworks Inc. has a booth on the exhibit floor

You can find more details on our SC17 page.

We look forward to seeing you there!