From Documentation
Jump to: navigation, search
NAMD
Description: Parallel Molecular Dynamics Program
SHARCNET Package information: see NAMD software page in web portal
Full list of SHARCNET supported software


NOTE: Please also see the documentation page on Compute Canada wiki

NAMD (NAnoscale Molecular Dynamics) is a molecular dynamics simulation package developed at the University of Illinois at Urbana-Champaign. Based on Charm++ parallel objects, NAMD is noted for its parallel efficiency and is designed for high-performance simulation of large biomolecular systems. SHARCNET clusters and SMP systems have the mpi version installed therefore jobs must be submitted to the parallel queue as shown below. Scaling tests should always be performed to determine the optimal number of processors to be used on a given system prior to a long run.

Setup requirements before running a NAMD job

To run NAMD jobs the following are required:

  • a CHARMM force field in either CHARMM or X-PLOR format,
  • a X-PLOR format PSF file describing the molecular structure,
  • the initial coordinates of the molecular system in the form of a PDB file
  • a user customized NAMD configuration file

Running on new Graham and Cedar systems

Please also see the documentation page on Compute Canada wiki

Running on Centos 6 systems

You have to load a desired NAMD module before you can use it.

NOTE - please verify that you are getting efficient performance for your NAMD run. For any given system size there is an optimum resource configuration, and increasing resources beyond that limit will not result in a worthwhile increase in performance. This is particularly the case for runs using a GPU.

For example, if you want to use version 2.10 on orca, do:

module unload intel openmpi mkl
module load intel/15.0.3
module load openmpi/intel1503-std/1.8.7
module load namd/2.10

If you want to use version 2.11 on orca, do:

module unload intel openmpi mkl
module load intel/15.0.3
module load openmpi/intel1503-std/1.8.7
module load namd/2.11

If you want to use the GPU accelerated version of NAMD 2.11 on the monk cluster, please do:

module unload intel 
module unload openmpi 
module unload mkl 
module unload cuda 
module load intel/15.0.3 
module load openmpi/intel1503-std/1.8.7
module load cuda/7.5.18 
module load namd/intel1503-openmpi187std-cuda7518/2.11

If you want to use the GPU accelerated version of NAMD 2.10 on the monk cluster, please do:

module unload intel 
module unload openmpi 
module unload mkl 
module unload cuda 
module load intel/15.0.3 
module load openmpi/intel1503-std/1.8.7
module load cuda/7.5.18 
module load namd/intel1503-openmpi187std-cuda7518/2.10

Running the ApoA1 benchmark (without cuda)

o First create a directory somewhere in your /scratch or /work, cd into it, then download and unpack the files:

wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
tar xvfz apoa1.tar.gz

o On all clusters (except kraken) submit the non-cuda mpi binary to the test queue as follows where 4 cpus has been chosen simply for demonstration purposes:

sqsub  -r 10 -q mpi -n 4 -o ofile.%J namd2-mpi apoa1/apoa1.namd

o On kraken only submit the non-cuda mpi binary to the test queue as follows:

sqsub  -r 10 -f myri -q mpi -n 4 -o ofile.%J namd2-mpi apoa1/apoa1.namd

o On kraken specify your job to run on a single node (4cpu max) as follows:

sqsub  -r 10 -f bul -q mpi -n 4 -N 1 -o ofile.%J namd2-mpi apoa1/apoa1.namd

o On brown temporarily (as of Sept 30/11) run mpi jobs on a single node (8cpu nominal or 24cpu max). Once its ib switchs are fixed the "-N" switch constraint can be removed viz:

sqsub  -r 10 -q mpi -n 8 -N 1 -o ofile.%J namd2-mpi apoa1/apoa1.namd

Running theApoA1 benchmark (with CUDA on monk)

First create a directory somewhere in your /scratch or /work, cd into it, then download and unpack the files:

wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
tar xvfz apoa1.tar.gz

Next load the NAMD module as explained above.

1) To run the Sharcnet built multicore (CUDA support) binary in the gpu queue with one process (consisting of two threads) and one gpu (per process) on one node (i.e. job gets 2 CPUs and 1 GPU on one node):

sqsub -r 10 -q gpu -f threaded -n 2 --tpp 2 --gpp 1 -o ofile.%J namd2 +p2 +idlepoll apoa1/apoa1.namd
WallClock: 67.740860  CPUTime: 65.707008  Memory: 223.917969 MB

2) To run the Sharcnet built multicore (CUDA support) binary in the gpu queue with one process (consisting of four threads) and one gpu (per process) on one node (i.e. job gets 4 CPUs and 1 GPU on one node):

sqsub -r 10 -q gpu -f threaded -n 4 --tpp 4 --gpp 1 -o ofile.%J namd2 +p4 +idlepoll apoa1/apoa1.namd
WallClock: 48.689461  CPUTime: 46.641911  Memory: 232.675781 MB

3) To run the Sharcnet built multicore (CUDA support) binary in the gpu queue with one process (consisting of eight threads) and two gpu (per process) on one node (i.e. job gets 8 CPUs and 2 GPUs on one node):

sqsub -r 10 -q gpu -f threaded -n 8 --tpp 8 --gpp 2 -o ofile.%J namd2 +p8 +idlepoll apoa1/apoa1.namd
WallClock: 40.037094  CPUTime: 36.274487  Memory: 293.695312 MB

4) To run the sharcnet built namd2-mpi (CUDA support) binary in the gpu queue using 4 mpi processes, on 2 nodes, and assigning 1 gpu per process do:

sqsub -r 10 -q gpu -f mpi -n 4 -N 2 --gpp 1 -o ofile.%J namd2-mpi +idlepoll apoa1/apoa1.namd
WallClock: 53.056465  CPUTime: 53.056465  Memory: 155.406250 MB

5) To run the Sharcnet built namd2-mpi-smp (CUDA support) binary in the gpu queue using 4 mpi processes, on 2 nodes, and assigning 1 gpu per process and 4 threads per process do:

sqsub -q gpu  -f mpi -f threaded --gpp=2 --tpp=4 -n 16 -N 2 -r 1h --mpp=165g -o ofile.%J namd2-mpi-smp +ppn 4 +idlepoll apoa1/apoa1.namd

References

o Namd Homepage
http://www.ks.uiuc.edu/Research/namd/

o Namd Online Documentation
http://www.ks.uiuc.edu/Research/namd/documentation.html

o Namd Mailing List
http://www.ks.uiuc.edu/Research/namd/mailing_list/

o NAMD Performance Benchmark and Profiling
http://www.hpcadvisorycouncil.com/pdf/NAMD_analysis_amd_6174.pdf