Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Programming Language

Charm++

Object-Oriented Language

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
1993 1
Paradigm
Parallel object-oriented 2
Primary Use Domain
Parallel computing 2
Connections

In Field

Source Charm++ (Wikipedia)

Influenced By

Source Charm++ (Wikipedia)
Sources
1. Programming Language Database (PLDB): Charm++
Programming Language Database (PLDB)Summary line
Quote, 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 Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.