NAMD Wiki: NamdOnAltixUV
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