Charm Version: mpi-linux-amd64-vmi-mpicxx mpi-linux-amd64-mpicxx mpi-linux-amd64-icc10 mpi-linux-amd64 mpi-linux-amd64-vmi-smp (note this requires thread safety in your application) net-linux-amd64-ibverbs (experimental) net-linux-amd64-smp-ibverbs (experimental) (net versions will require the use of a nodelist generation script (e.g. ~bohm/gennodelist nodelist) in the run script)
Build:
Edit your .soft to look like: +mpichvmi-intel-ofed1.2 @teragrid
resoft
Modify charm/src/arch/mpi-linux-amd64/conv-mach.sh to use mpicxx instead of mpiCC
./build charm++ mpi-linux-amd64 --no-build-shared
You'll need "-thread context -memory os" to build and run apps. Tacking on "-static-intel -static-libcxa" doesn't hurt.
Debugging: use qsub -I
for the net-linux-amd64 layers
If you compiled using gcc on the net layer you can attach gdb
You must ssh -X to your head compute node abeXXXX from abe and run from there
the login you get from qsub -I will NOT have your X11 DISPLAY set correctly
./charmrun yourbinary ++debug-no-pause +ssh-display +batch 1 providing that you have ssh x forwarding working correctly to the abe head node (ssh -X abe.ncsa.uiuc.edu), you will get 1 xterm housed gdb per processor. Use ++debug if you wish to set breakpoints inside gdb before application execution begins.