A portable adaptive runtime system for parallel applications.
Application developers create an object-based decomposition of the problem of interest, and the runtime system manages issues of communication, mapping, load balancing, fault tolerance, and more. Sequential code implementing the
... [More]
methods of these parallel objects is written in C++. Calls to libraries in C++, C, and Fortran are common and straightforward.
Charm++ is portable across individual workstations, clusters, accelerators (Cell SPEs, GPUs), and supercomputers such as those sold by IBM (Blue Gene, POWER) and Cray (XT3/4/5/6 and XE6). Applications based on Charm++ are used on at least 5 of the 20 most powerful computers in the world. [Less]