Charm++ can be downloaded using one of the following methods:
- From Charm++ website - The current stable version (source code and binaries) can be downloaded from our website at http://charm.cs.illinois.edu/software .
- From source archive - The latest development version of Charm++ can be downloaded from our source archive using git clone http://charm.cs.illinois.edu/gerrit/charm .
If you download the source code from the website, you will have to unpack it using a tool capable of extracting gzip'd tar files, such as tar (on Unix) or WinZIP (under Windows). Charm++ will be extracted to a directory called ``charm''.
A typical prototype command for building Charm++ from the source code is:
./build TARGET TARGET ARCHITECTURE [OPTIONS] where,
- is the framework one wants to build such as charm++ or AMPI .
- TARGET ARCHITECTURE
- is the machine architecture one wants to build for such as netlrts-linux-x86_64 , pamilrts-bluegeneq etc.
- are additional options to the build process, e.g. smp is used to build a shared memory version, -j8 is given to build in parallel etc.
, a list of build commands is provided for some of the commonly
used systems. Note that, in general, options such as
, compiler specifiers etc can be used with all targets.
It is advisable to build with
to obtain the best
performance. If one desires to perform trace collection (for Projections),
should also be passed to the
Details on all the available alternatives for each of the above mentioned
parameters can be found by invoking
. One can also go through the
build process in an interactive manner. Run
, and it will be followed by
a few queries to select appropriate choices for the build one wants to perform.
As mentioned earlier, one can also build Charm++ using the precompiled binary in a manner similar to what is used for installing any common software.
When a Charm++ build folder has already been generated, it is possible to
perform incremental rebuilds by invoking
inside it. For example, with a
build, the path
. On Linux and macOS, the tmp symlink
in the top-level charm directory also points to the tmp directory of the most
Alternatively, CMake can be used for configuring and building Charm++. You can
for an overview of available options.
Note that some are only effective when passed with
command line while configuring from a blank slate. To build with all defaults,
is sufficient, though invoking CMake from a separate location
mkdir mybuild && cd mybuild && cmake ../charm
) is recommended.
The main directories in a Charm++ installation are:
Executables, such as charmc and charmrun,
used by Charm++ .
Documentation for Charm++ , such as this
document. Distributed as LaTeX source code; HTML and PDF versions
can be built or downloaded from our web site.
The Charm++ C++ and Fortran user include files (.h).
The libraries (.a) that comprise Charm++ .
Example Charm++ programs.
Source code for Charm++ itself.
Directory where Charm++ is built.
Test Charm++ programs used by autobuild.
The charm directory contains a collection of example-programs and
test-programs. These may be deleted with no other effects. You may
all the binaries in