Charm++ Adaptive Discrete Event Simulation: a parallel discrete event simulation (PDES) engine built on Charm++.
Maintained by the Parallel Programming Laboratory (UIUC). This repository was transferred from the Charmworks organization on 2026-09-25 and is a snapshot of the 2019 code base, with the PPL and Charmworks development lines merged. It is being brought up to date against current Charm++ (classic and reconverse runtimes); see the issues for the current state.
src/simulation core, GVT algorithms, scheduler, collections, statistics; buildslibcharades.amodels/example models: PHOLD, PCS, dragonfly, traffic, and a minimalexampletests/test driver (test.py) and configurationsdoc/Doxygen documentation, starting withdoc/getting_started.doxanddoc/model-conversion.md
- Copy
src/config.mk.templatetosrc/config.mkand set the paths to your Charm++ installation and to thissrc/directory. makeinsidesrc/. The library and object files land insrc/build/.- Build a model from its directory under
models/; each model's Makefile includes the sameconfig.mkand linkslibcharades.a.
Charm++ must already be built; see https://charm.readthedocs.io/. The original documentation notes that only non-SMP Charm++ builds were supported.
Classic Charm++: ./charmrun +pN ./model <model-args>.
Charm++ on reconverse: ./model +pe N <model-args> (no charmrun).
Eric Mikida, Elsa Gonsiorowski, Nikhil Jain and collaborators at the Parallel Programming Laboratory and Charmworks.
Apache License 2.0, the same license as Charm++. See LICENSE.