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).
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
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.