Charm++ is a message-passing parallel language and runtime system. It is implemented as a set of libraries for C++, is efficient, and is portable to a wide variety of parallel machines.
This guide uses Version 6.2.1 of Charm++ and PGI Release 2011 compiler version 11.10 on 64-bit Linux using MPI.
Information about Charm++ can be found at Parallel Programming Laboratory web page.
Information about obtaining the source can be found at http://charm.cs.uiuc.edu/software/.
First, decide which version of charm++ to use. The build script in the charm source directory takes several compiler command line options. The command line syntax is:
[options ...] [--basedir=dir] [--libdir=dir] [--incdir=dir] [charmc-options ...]
For detailed help messages, use -h or --help to the build script, i.e. ./build --help
For this example, we will compile using MPI on 64 bit Linux systems using PGI compilers.
untar the source:
tar -xvzf charm-6.2.1_src.tar.gz cd charm-6.2
Build the chosen configuration with fortran support:
./build charm++ mpi-linux-x86_64 pgfortran --basedir /opt/pgi/linux86-64/2011/mpi/mpich
There are a set of tests provided with the Charm distribution in the ./tests/charm++ directory. To run an example test using 12 MPI threads, do the following:
cd ./tests/charm++/simplearrayhello make ./charmrun ./hello +p12