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.

Documentation

The Charm++ Parallel Programming System Manual

CharmManual.png
stateofpractice.png

Parallel Programming with Migratable Objects:
Charm++ in Practice

Charm++ Frequently Asked Questions

charmfaq.png

Projections Manual

projections.png

Charm++ Debugger Manual

debugger.png

Papers

Application Areas

Astrophysics & Cosmology

Molecular Dynamics

Epidemiology

Computational Engineering

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

info@hpccharm.com

872-225-2468

Charmworks, Inc. © 2019