top of page


Delivers all the advantages of the Charm++ adaptive runtime system, with the familiar API of MPI

*Available from the University of Illinois for research and evaluation use only. For commercial use of Charm++, explore our licensing options or contact us for more info.

What is CharmMPI?

CharmMPI (formerly known as Adaptive MPI) is an implementation of MPI that delivers the advantages of Charm++’s adaptive runtime system - automated support for virtualization, load balancing and fault tolerance, all with the familiar API of MPI. Users can recompile their existing MPI C, C++, and Fortran applications, and start profiting from improved performance and resilience.

Learn more about recent developments in CharmMPI

Why CharmMPI?

CharmMPI provides dynamic runtime support for pre-existing MPI applications. It can help alleviate scalability bottlenecks that are difficult to address directly in applications, such as static and dynamic load balances and difficult-to-hide communication latencies. CharmMPI also makes it possible to run through node failures and can run on dynamically shrinking and expanding job allocations.



CharmMPI Manual



Optimizing an MPI Weather Forecasting Model via Processor Virtualization


Optimizing Point-to-Point Communication between Adaptive MPI Endpoints in Shared Memory

Application Areas


Weather & Climate Simulation


Molecular Dynamics

Molecules Bio

Adaptive Mesh Refinement

Engineering Sketch

Computational Engineering

AMPI Learn More
bottom of page