Charm++
From HP-SEE Wiki
Contents |
- Web site: http://charm.cs.uiuc.edu/research/charm
- Described version: 6.2
- Licensing: Charm++ is open-source and free for research, educational, and academic use. The University of Illinois retains the copyright to the software, and requires a license for any commercial redistribution of the software. The actual, legal license is included with Charm++ (in charm/LICENSE).
- User documentation: http://charm.cs.illinois.edu/manuals/html/install/manual.html
- Download: http://charm.cs.uiuc.edu/software
- Source code: http://charm.cs.illinois.edu/distrib/charm-6.2.1_src.tar.gz
Authors/Maintainers
http://charm.cs.uiuc.edu/people
Summary
charm++ is a machine independent parallel programming system (an object-oriented asynchronous message passing parallel programming paradigm). Programs written using this system will run unchanged on MIMD machines with or without a shared memory. It provides high-level mechanisms and strategies to facilitate the task of developing even highly complex parallel applications. charm++ programs are written in C++ with a few library calls and an interface description language for publishing charm++ objects. charm++ supports multiple inheritance, late bindings, and polymorphism. Programs consist of potentially medium- grained processes (called chares), a special type of replicated process, and collections of chares. These processes interact with each other via messages. There may be thousands of medium-grained processes on each processor, or just a few, depending on the application. The “replicated processes” can also be used for implementing novel information sharing abstractions, distributed data structures, and intermodule interfaces. The system can be considered a concurrent object-oriented system with a clear separation between sequential and parallel objects.
Features
- Listed features
Architectural/Functional Overview
Usage Overview
Dependencies
- list of all relevant dependencies on other libraries
HP-SEE Applications
- IsyMAB
Resource Centers
- BG, BG
- HPCG, BG
- IFIN_Bio, RO
- NCIT-Cluster, RO
Usage by Other Projects and Communities
Some of the applications that have been created using Charm++:
- Nanoscale Molecular Dynamics (NAMD): Classical Molecular Dynamics (Official NAMD Site)
- LeanCP: Quantum Molecular Dynamics (Official LeanCP Site)
- ChaNGa: Cosmology Simulation (Official ChaNGa Site)
- BigSim: Petascale Systems Simulation (Official BigSim Site)
- Rocstar: Rocket Simulation (Official Rocstar Site) (NOTE: A portion of this application has been written using the Charm++ programming model.)