- 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 appropiate 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.
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.
On most computers, Charm++ programs are simple binaries, and they pose
no more security issues than any other program would. The only exception
is the network version
, which has the following issues.
The network versions utilize many unix processes communicating with each other via UDP. Only a simple attempt is currently made to filter out unauthorized packets. Therefore, it is theoretically possible to mount a security attack by sending UDP packets to an executing Converse or Charm++ program's sockets.
The second security issue associated with networked programs is
associated with the fact that we, the Charm++ developers, need evidence
that our tools are being used. (Such evidence is useful in convincing
funding agencies to continue to support our work.) To this end, we
have inserted code in the network
later) to notify us that our software is being used.
This notification is a single
packet sent by
. This data is put
to one use only: it is gathered into tables recording the internet
domains in which our software is being used, the number of individuals
at each internet domain, and the frequency with which it is used.
We recognize that some users may have objections to our notification
code. Therefore, we have provided a second copy of the
program with the notification code removed. If you look
directory, you will find these programs:
$ cd charm/bin $ ls charmrun* charmrun charmrun-notify charmrun-silent
has the notification code removed. To
permanently deactivate notification, you may use the version without the
$ cd charm/bin $ cp charmrun.silent charmrun
The only versions of Charm++ that ever notify us are the network versions.
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