Charm++ is a parallel programming system based on C++, developed in the Parallel Programming Laboratory at the University of Illinois at Urbana-Champaign. Its stated aim is to raise programmer productivity by offering a high-level abstraction of a parallel program while still delivering good performance on a wide variety of hardware. A Charm++ program is divided into cooperating message-driven objects called chares. When a programmer invokes a method on a chare, the runtime system sends a message to that object, which may sit on the local processor or a remote one, and the message triggers the code that handles it asynchronously. Chares can be gathered into indexed chare arrays and addressed individually or all at once. An adaptive runtime system maps chares onto processors without the programmer's involvement, which lets it rebalance load, tolerate faults, checkpoint automatically and grow or shrink the set of processors in use. Applications built on it include the molecular dynamics code NAMD, and Adaptive MPI runs the Message Passing Interface on the same runtime.
Facts
First Released ParadigmParallel object-oriented 2 Primary Use Domain Connections
In Field
Source Charm++ (Wikipedia)
Influenced By
Source Charm++ (Wikipedia)
Sources
1. Programming Language Database (PLDB): Charm++
Programming Language Database (PLDB)Summary lineQuote, Summary line
CHARM++ is a programming language created in 1993.
View the Source 2. Charm++ (Wikipedia)
Lead
Charm++ is a parallel object-oriented programming paradigm based on C++
Lead, design goal
providing a high-level abstraction of a parallel program
Influenced By: C++, Lead, C++ basis
based on C++
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.