NAMD Wiki: NamdAtTexas

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

NAMD is available on both Ranger, Lonestar, Stampede2 and Frontera at TACC

TACC Frontera

A CPU build of NAMD is available through the script

/home1/05825/tg851244/runbatch_frontera

which should be good to go. Before executing it, load the intel and fftw3 modules.

The verbs layer seems to be broken there right now. So the code was compiled against charm++6.10 for UCX.

TACC Ranger

NAMD is available on TACC Ranger through the scripts

/share/home/00288/tg455591/NAMD_scripts/runbatch_2.8

and

/share/home/00288/tg455591/NAMD_scripts/runbatch_2.8_smp

runbatch_2.8 requires three arguments:

NAMD input file
NAMD log file
number of nodes (number of cores / 16)
cores per node (defaults to 16way, other option is 15way)
queue (defaults to "normal", other option is "test")

runbatch_2.8_smp requires three arguments:

NAMD input file
NAMD log file
number of nodes (number of cores / 16)
processes per node (defaults to 2way, other options are 1way or 4way)
queue (defaults to "normal", other option is "test")

When running NAMD on Ranger (and probably under MVAPICH on any cluster) scaling performance is greatly improved by increasing VIADEV_RENDEZVOUS_THRESHOLD, which must be specified on the mpirun/ibrun command line to be effective:

ibrun env VIADEV_RENDEZVOUS_THRESHOLD=50000 namd2

Philip Blood of PSC has found the following options to improve performance on Ranger:

export VIADEV_SMP_EAGERSIZE=64
export VIADEV_SMPI_LENGTH_QUEUE=256
export VIADEV_ADAPTIVE_RDMA_LIMIT=0
export VIADEV_RENDEZVOUS_THRESHOLD=50000

To build NAMD with icc and and MVAPICH you must first do the following:

module unload mvapich2
module swap pgi intel
module load mvapich

This is the content of the namd2/arch/Linux-amd64-MPI-icc.arch file:

NAMD_ARCH = Linux-amd64
CHARMARCH = mpi-linux-amd64
CHARMOPTS = -thread pthreads -memory os

FLOATOPTS = -ip -fno-rtti

CXX = icpc
CXXOPTS = -O2 $(FLOATOPTS) -xO
CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS) -xT

CC = icc
COPTS = -O2 $(FLOATOPTS) -xO

If we build mainfunc.C with -xT the Intel compiler inserts code in main() that exits on non-Intel processors. This is avoided by building everything but the main nonbonded loops with the portable -xO. I think this is the fastest way to build, but my tests have been inconsistent on the head node.

TACC Lonestar

NAMD is available on TACC Lonestar through the scripts

/home1/00288/tg455591/NAMD_scripts/runbatch_2.8

and

/home1/00288/tg455591/NAMD_scripts/runbatch_2.8_smp