NAMD Wiki: NamdAtPDC
Tutorial Materials
Full list: http://www.ks.uiuc.edu/Training/Tutorials/
Recommended tutorials:
- QwikMD - best for those not comfortable preparing simulations for NAMD.
- NAMD Tutorial - extensive on the general use of NAMD, but one can skip sections.
- Tutorial on Adaptive Biasing Force Calculations - introductory tutorial on Adaptive Biasing Force Calculations in NAMD
- Stretching Deca-Alanine tutorial - introductory tutorial on Potential of Mean Force in NAMD
- Tutorial on Alchemical Free Energy Perturbation Calculations - introductory tutorial on Alchemical Free Energy Perturbation Calculations in NAMD
- Molecular Dynamics Flexible Fitting (MDFF) - introductory tutorial on MDFF in NAMD and VMD
- Self-guided scaling studies on Beskow - see directions below (compiling optional)
Recommended tutorial materials, from any PDC system:
/afs/pdc.kth.se/home/j/joao2/Public/
Commands for Running QwikMD Tutorial
VMD 1.9.4 should be pre-installed on the lab workstations for your use.
This tutorial runs completely on the lab workstation (or your laptop) and does not use Beskow or Tegner.
( cd /tmp; tar xzf /afs/pdc.kth.se/home/j/joao2/Public/qwikmd_tutorial/qwikmd-tutorial-files.tar.gz )
Running pre-compiled binaries on Beskow
The following commands submit simple batch jobs
~joao2/Public/NAMD_scripts/runbatch
(Notes: To prepare files for running on Beskow, Do not check out the "Live View" option in QwikMD)
This script requires three arguments:
- NAMD input file
- NAMD log file
- number of nodes (number of cores / 32)
- processes per node (1, 2, 4, 31, 32; defaults to 1, ignored for cuda)
- queue (defaults to "regular", other options are "test" and "low")
- replica or other args (optional)
Files need to be available on compute nodes, substitute your initial and username below.
ln -s /cfs/klemming/nobackup/y/youruser ~/work
cd ~/work
(The following are available at www.ks.uiuc.edu/Research/namd/utilities/)
tar xzf /afs/pdc.kth.se/home/j/joao2/Public/apoa1.tar.gz
The following commands will run NAMD in a variety of configurations on 4 nodes.
The "test" queue just sets the runtime to 30 minutes so the job might start earlier.
NAMD (Charm++) options in the generated batch job are:
- +ppn 31 31 worker threads per node
- +pemap 1-31 worker threads on cpus 1-31
- +commap 0 smp build communication thread on cpu 0
To understand the sbatch and aprun options in the submitted scripts see https://www.pdc.kth.se/resources/computers/beskow/how-to/run or "man aprun"
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_default.log 4 test
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_1.log 4 1 test
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_2.log 4 2 test
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_4.log 4 4 test
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_31.log 4 31 test
~joao2/Public/NAMD_scripts/runbatch apoa1/apoa1.namd apoa1_4_32.log 4 32 test
squeue -u $USER
When jobs have finished running, check performance with "grep time: *.log", the "Benchmark time:" lines are after load balancing and should represent the performance of a long run.
Compiling Charm++ and NAMD on Beskow
Libraries available from www.ks.uiuc.edu/Research/namd/libraries/
(Patch for Cray is www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-crayxe-tclUnixInit.patch)
cd
tar xzf /afs/pdc.kth.se/home/j/joao2/Public/tcl8.5.9-crayxe-threaded.tar.gz
tar xzf /afs/pdc.kth.se/home/j/joao2/Public/tcl8.5.9-crayxe.tar.gz
ln -s tcl8.5.9-crayxe-threaded tcl-threaded
ln -s tcl8.5.9-crayxe tcl
module swap PrgEnv-cray PrgEnv-intel
module load fftw
module load rca
module load craype-hugepages8M
module load intel/17.0.5.239
module load gcc/6.1.0
module list
Files need to be available on compute nodes, substitute your initial and username below.
ln -s /cfs/klemming/nobackup/y/youruser ~/work
cd ~/work
(Normally you would download NAMD source from www.ks.uiuc.edu/Research/namd/)
tar xzf /afs/pdc.kth.se/home/j/joao2/Public/NAMD_2.13_Source.tar.gz
cd NAMD_2.13_Source
tar xf charm-6.8.2.tar
cd charm-6.8.2
./build charm++ gni-crayxc persistent --no-build-shared --with-production
cd gni-crayxc-persistent/tests/charm++/megatest
make pgm
mv pgm ../../../bin/megatest
cd ../../converse/megacon
make pgm
mv pgm ../../../bin/megacon
cd ../../..
ldd bin/megatest bin/megacon
cd ..
./build charm++ gni-crayxc persistent smp --no-build-shared --with-production
cd gni-crayxc-persistent-smp/tests/charm++/megatest
make pgm
mv pgm ../../../bin/megatest
cd ../../converse/megacon
make pgm
mv pgm ../../../bin/megacon
cd ../../..
ldd bin/megatest bin/megacon
cd ..
cd ..
./config CRAY-XC-intel --with-fftw3 --charm-arch gni-crayxc-persistent
./config CRAY-XC-intel.smp --with-fftw3 --charm-arch gni-crayxc-persistent-smp
cd CRAY-XC-intel
make release
cd ../CRAY-XC-intel.smp
make release