Tutorial

This section describes what knowledge the reader is assumed to have, what knowledge the reader will gain by working through this tutorial, a description of the tutorial itself, and so on.
This section describes the basic ideas behind the Charm++ programming model. It introduces the concept of chares, asyncronous message passing, and so on.
This section describes the Charm++ Runtime System and what role it plays during the execution of a Charm++ application. The various software layers (i.e. machine layer, Converse, and so on) along with what role they play will be discussed.
This introduces the basic of Charm++ programming. Simple example programs are discussed along with the associated concepts of the Charm++ programming model.
This section introduces the basic components that make up a Charm++ program (chare classes, entry methods, .ci files, and so on). It also introduces some of the Charm++ tools that are use to compile a Charm++ program.
This example "Hello World" program represents the simplest Charm++ program that can be written. The source code is given and key ideas are pointed out to help the reader understand the basics of a Charm++ program.
This example "Hello World" program is slightly more advanced than the basic one presented previously. This program creates multiple chare objects in the form of a chare array.
This section contains example Charm++ programs (some in detail, some left as excersise to the reader).
... Parallel prefix program (code, description of object instances, communication, Charm++ concepts utilized, etc.) ...
... Bubble sort program (code, description of object instances, communication, Charm++ concepts utilized, etc.) ...
... 2D Jacobi program (code, description of object instances, communication, Charm++ concepts utilized, etc.) ...
This section presents some of the abstractions that are contained in Charm++ (reductions, and so on).
This section contains more example Charm++ programs which use one or more of the Charm++ abstractions.
This section presents some of the tools that are available to Charm++ applications.
This section presents some of the abstractions that are contained in Charm++ (reductions, and so on).