A general purpose, flexible, and highly scalable framework for productive parallel programming

*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 Charm++?

Charm++ is a mature, highly scalable parallel programming framework that enables applications to effectively scale regardless of the execution landscape. Charm++ provides a C++ like interface that works with Fortran, C, and C++ codes. Existing code written in MPI can call Charm++, and Charm++ can call MPI, OpenMP, CUDA, and more to improve or enable performance on modern architectures.

Why Charm++?

Charm++ helps creators of compute intensive software deliver better shared and distributed memory parallel application performance, improve overall throughput and reduce development and maintenance effort by enabling object oriented methods. These methods deliver dynamic load balancing, improved communication computation overlap and fault tolerance with high level C++ style programming.



The Charm++ Parallel Programming System Manual


Charm++ Frequently Asked Questions


Projections Manual


Charm++ Debugger Manual



Parallel Programming with Migratable Objects:
Charm++ in Practice

Application Areas

Astrophysics & Cosmology

Molecular Dynamics


Computational Engineering

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


Charmworks, Inc. © 2020