top of page

CharmMPI

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.

Documentation

ampimanual.png

CharmMPI Manual

Papers

brams.png

Optimizing an MPI Weather Forecasting Model via Processor Virtualization

exampi17.png

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

Application Areas

Iceberg

Weather & Climate Simulation

Molecule

Molecular Dynamics

Molecules Bio

Adaptive Mesh Refinement

Engineering Sketch

Computational Engineering

AMPI Learn More
Laptop.png
CharmCompImage2.png
bottom of page