NAMD Wiki: NamdOnAltixUV

  You are encouraged to improve NamdWiki by adding content, correcting errors, or removing spam.

See also NamdAtNCSA.

The Linux-x86_64-multicore NAMD platform is recommended for the Altix UV, and with a large NUMA system such as this it is essential for good performance to set the cpu affinity of each thread using +setcpuaffinity.

As the Altix UV queuing system restricts the cores a job is allowed to run on, the set of available cores must be determined at job execution time with the numactl command and passed to the namd2 binary as follows:

set PROCS = `numactl --show | awk '/^physcpubind/ {printf "+p%d +pemap %d",(NF-1),$2; for(i=3;i<=NF;++i){printf ",%d",$i}; printf "\n"}'`
$BINDIR/namd2 +setcpuaffinity $PROCS config.namd

For large core counts it may be beneficial to add a communication thread in place of one of the PE (worker) threads:

set PROCS = `numactl --show | awk '/^physcpubind/ {printf "+p%d +pemap %d",(NF-2),$2; for(i=3;i<NF;++i){printf ",%d",$i}; print " +commthread +commap",$NF}'`
$BINDIR/namd2 +setcpuaffinity $PROCS config.namd