Building Charm++

This file documents the use of the x86 Open64 Compiler Suite.
© 2009 Advanced Micro Devices, Inc.

Charm++ Info

Charm++ is a machine independent parallel programming system. Programs written using this system will run unchanged on MIMD machines with or without a shared memory. It provides high-level mechanisms and strategies to facilitate the task of developing even highly complex parallel applications. The steps for configuring and building Charm++, and any known limitations, are described in the sections below.

Download: Charm++ (version 5.9).

Building Charm++

In brief, the following steps are sufficient to build Charm++ from the command line:

     >tar -xvjf charmm++5.9.tar.bz2
     >cd ../charm-5.9
     >./build charm++ mpi-open64 -DCMK_OPTIMIZE=1

Known Limitations

There is a bug in opencc such that if the serial C code in Charm++ is compiled with -O2 or higher, it will result in a hang during execution. The workaround is to use -O1 for CMK_SEQ_CC. This workaround is incorporated in the distributed conv-mach.sh, and seems to have no performance impact.