Center for Petascale Computing  
A collaboration led by Laxmikant Kalé (Computer Science) and Duane Johnson (Materials Science and Engineering) on a research theme within IACAT

Charisma: Macro Dataflow with Migratable Objects

Charisma is a parallel programming language that also supports a deterministic and simple parallel programming style, and cleanly separates sequential and parallel code. With Charisma, one declares multiple indexed collections of data-driven objects, and specifies the overall dataflow and control flow in a high level script. Each object's sequential method, invoked from the Charisma "script", consumes some remotely generated data, and "publishes" some data without worrying about who will consume it. A relatively simple compiler analyzes data-dependencies between produced and consumed values to generate messages and code for the triggering of object methods. This notation is especially conducive to collaborative application development, where a parallel structure is agreed upon via Charisma code, and application scientists can work on sequential code sections via well-defined interfaces.
 

Investigator:

Charisma Information

Charisma Manual