Charm++

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
(Created page with "__TOC__ * Web site: link * Described version: xx.xx * Licensing: e.g. LGPL 3, BSD... * User documentation: link * Download: link * Source code: link == Authors/Maintainers == *...")
Line 1: Line 1:
__TOC__
__TOC__
-
* Web site: link
+
* Web site: http://charm.cs.uiuc.edu/research/charm
* Described version: xx.xx
* Described version: xx.xx
-
* Licensing: e.g. LGPL 3, BSD...
+
* Licensing: Non-Exclusive, Non-Commercial Use License
 +
 
* User documentation: link
* User documentation: link
* Download: link
* Download: link
Line 12: Line 13:
== Summary ==
== Summary ==
-
One paragraph description of purpose, targer area, approach.
+
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 ==
== Features ==
Line 27: Line 42:
== HP-SEE Applications ==
== HP-SEE Applications ==
-
* Applications using it
+
* IsyMAB
== Resource Centers ==
== Resource Centers ==
-
* RCs supporting it (with version number if not the same as above)
+
* BG, BG
 +
* HPCG, BG
 +
* IFIN_Bio, RO
 +
* NCIT-Cluster, RO* 
== Usage by Other Projects and Communities ==
== Usage by Other Projects and Communities ==

Revision as of 14:21, 20 July 2011

Contents


  • User documentation: link
  • Download: link
  • Source code: link

Authors/Maintainers

  • Also origin, if the software comes from a specific project.

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

  • high level design info, how it works, performance - may be a link, or several links

Usage Overview

  • If possible with small example - may be a link

Dependacies

  • 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

  • If any

Recommendations for Configuration and Usage

Please describe here any common settings, configurations or conventions that would make the usage of this resource (library or tool) more interoperable or scalable across the HP-SEE resources. These recommendations should include anything that is related to the resource and is agreed upon by administrators and users, or across sites and applications. These recommendations should emerge from questions or discussions opened by site administrators or application developers, at any stage, including installation, development, usage, or adaptation for another HPC centre.

Provided descriptions should describe general or site specific aspects of resource installation, configuration and usage, or describe the guidelines or convention for deploying or using the resource within the local (user/site) or temporary environment (job). Examples are:

  • Common configuration settings of execution environment
  • Filesystem path or local access string
  • Environment variables to be set or used by applications
  • Options (e.g. additional modules) that are needed or required by applications and should be present
  • Minimum quantitative values (e.g. quotas) offered by the site
  • Location and format of some configuration or usage hint instructing applications on proper use of the resource or site specific policy
  • Key installation or configuration settings that should be set to a common value, or locally tweaked by local site admins
  • Conventions for application or job bound installation and usage of the resource
Personal tools