Subsections

2.1 Installing Charm++ and BigSim

The BigSim Emulator is distributed as part of the Charm++ standard distribution. One needs to download Charm++ and compile the BigSim Simulator. This process should begin with downloading Charm++ from the website: http://charm.cs.uiuc.edu.

Please refer to ``Charm++ Installation and Usage Manual'' and also the file README in the source code for detailed instructions on how to compile Charm++. In short, the ``build'' script is the main tool for compiling CHARM++. One needs to provide target and platform selections:

 ./build <target> <platform> [options ...] [charmc-options ...]

For example, to compile on a 64-bit Linux machine, one would type:

./build charm++ net-linux-x86_64 -O2

which builds essential CHARM++ kernel using UDP sockets as the communication method; alternatively, it is possible to build the Charm++ kernel on MPI using:

./build charm++ mpi-linux-x86_64 -O2

For other platforms, net-linux-x86_64 should be replaced by whatever platform is being used. See the charm/README file for a complete list of supported platforms.

2.1.1 Building Only the BigSim Emulator

The BigSim Emulator is implemented on top of Converse in Charm++. To compile the BigSim Emulator, one can compile Emulator libraries directly on top of normal CHARM++ using ``bgampi'' as the compilation target, like

./build bgampi net-linux-x86_64 -O2

With Emulator libraries, one can write BigSim applications using its low level machine API.

2.1.2 Building Charm++ or AMPI on the BigSim Emulator

In order to build Charm++ or AMPI on top of BigSim Emulator (which itself is implemented on top of Converse), a special build option ``bigemulator'' needs to be specified:

./build bgampi net-linux-x86_64 bigemulator -O2

The ``bgampi'' option is the compilation target that tells ``build'' to compile BigSim Emulator libraries in addition to CHARM++ kernel libraries. The ``bigemulator'' option is a build option to platform ``net-linux'', which tells ``build'' to build Charm++ on top of the BigSim Emulator.

The above ``build" command creates a directory named ``net-linux-x86_64-bigemulator" under charm, which contains all the header files and libraries needed for compiling a user application.

November 23, 2009
Charm Homepage