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 Adaptive MPI?

AdaptiveMPI (AMPI) 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 AMPI


AMPI 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. AMPI also makes it possible to run through node failures and can run on dynamically shrinking and expanding job allocations.



Adaptive MPI 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

Adaptive Mesh Refinement

Computational Engineering

  • Facebook - White Circle
  • Twitter - White Circle
  • LinkedIn - White Circle


Charmworks, Inc. © 2019