Skip to content
Tim Haines edited this page Nov 10, 2018 · 1 revision

For now, we only need to run the "basic build" just to make sure the most common configurations work. To do this, run

    perl build.pl --charm-target=YYY --build-type=basic --njobs=NN

where YYY is your regular Charm++ build target (default is netlrts-linux-x86_64). I highly recommend setting NN to at least 4 (preferably higher). This configuration will build two versions of Charm++ (one with and one without CUDA enabled) and 24 versions of ChaNGa (see build.log once it's completed for details). You can turn on/off CUDA, SMP, and projections to build several variants of Charm++ (which will then build MANY versions of ChaNGa). If you just want to test Charm++ builds, you can pass "--no-changa". See "build.pl --help" for details.

Builds generate enormous amounts of file system traffic. DO NOT run this on a head node of a cluster. You can probably use an interactive job with the basic build I show above as it takes about 25 minutes on my local machine when using 8 make jobs (--njobs=8). If you want to run parallel builds, you can use

    mpiexec -np XX perl build.pl --charm-target=YYY --build-type=basic --njobs=NN

in a submission file. Note that the test suite uses MPI to distribute work across the XX MPI ranks in a round-robin fashion and then invokes make with NN jobs on each rank, so you will get XX * NN total threads across all machines. I don't recommend setting XX very high as even the best parallel file system will probably scream under such intense load.

Clone this wiki locally