Charm++: Tutorial (original) (raw)

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 exercise 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.