Contents
1. Prerequisites
2. Installation steps
3. Execution and Testing
4. Known errors and solutions
5. References
1. Prerequisites
- MPI
- FFTW
- TCL (optional)
2. Installation steps
2.1 Download NAMD source package
http://www.ks.uiuc.edu/Research/namd/
2.2 Untar, it creates directory NAMD_2.9_Source/
tar -xvf NAMD_2.9_Source.tar.gz
2.3 Compilation
2.3.1 Change to directory NAMD_2.9_Source
cd NAMD_2.9_Source
2.3.2 Modify the following files
- NAMD_2.9_Source/Make.charm, mention charm directory
1 CHARMBASE = /opt/charm-6.5.0
- NAMD_2.9_Source/arch/Linux-x86_64-icc.arch, mention charm architecture name
1 NAMD_ARCH = Linux-x86_64
2 CHARMARCH = mpi-linux-x86_64-ifort-mpicxx
Note : If charm++ built using IB ( ibverbs ) then use CHARMARCH=net-linux-x86_64-ibverbs-ifort-icc
- NAMD_2.9_Source/arch/Linux-x86_64-icc.archLinux-x86_64.fft , edit fft library path
2 FFTDIR=/opt/intel/mkl ## FFTW installation path
3 FFTINCL=-I$(FFTDIR)/include/fftw
4 #FFTLIB=-L$(FFTDIR)/lib -lrfftw -lfftw
5 FFTLIB=-L$(FFTDIR)/lib/intel64 -lrfftw -lfftw
- NAMD_2.9_Source/arch/Linux-x86_64-icc.archLinux-x86_64.fft3 , edit fft library path
2 FFTDIR=/opt/intel/mkl ## FFTW installation path
3 FFTINCL=-I$(FFTDIR)/include/fftw
4 FFTLIB=-L$(FFTDIR)/lib/intel64 -mkl -lfftw3xf_intel
5 FFTFLAGS=-DNAMD_FFTW -DNAMD_FFTW_3
6 FFT=$(FFTINCL) $(FFTFLAGS)
- NAMD_2.9_Source/arch/Linux-x86_64-icc.archLinux-x86_64.tcl, edit tcl library path
3 TCLDIR=/usr ## TCL installation path
4 TCLINCL=-I$(TCLDIR)/include
5 #TCLLIB=-L$(TCLDIR)/lib -ltcl8.5 -ldl
6 TCLLIB=-L$(TCLDIR)/lib64 -ltcl8.5 -ldl -lpthread
7 TCLFLAGS=-DNAMD_TCL
8 TCL=$(TCLINCL) $(TCLFLAGS)
2.4 Installation
2.4.1 If charm++ built using Intel MPI and compilers
- configure
./config <namd-install-dir>/Linux-x86_64-icc.mpi \
–charm-base /opt/app/charm-6.5.0/ –charm-arch \
mpi-linux-x86_64-ifort-mpicxx –with-fftw –with-fftw3 \
–with-tcl 2>&1 | tee config-log-mpi.out
- cd <namd-install-dir>/Linux-x86_64-icc.mpi
- make 2>&1 | tee make-log.out
2.4.2 If charm++ built using Infiniband (IB) ibverbs and intel compilers
- configure
./config <namd-install-dir>/Linux-x86_64-icc.ibverbs \
–charm-base/opt/app/charm-6.5.0 –charm-arch \
net-linux-x86_64-ibverbs-ifort-icc –with-fftw –with-fftw3\
–with-tcl 2>&1 | tee config-log-net.out
- cd <namd-install-dir>/Linux-x86_64-icc.ibverbs
- make 2>&1 | tee make-log.out
2.4.3 If installation is successful charmrun and namd2 executable will be created.
3. Execution and Testing
3.1 Download NAMD benchmark from ApoA1 benchmark
http://www.ks.uiuc.edu/Research/namd/utilities/
untar tar -xvf apoa1.tar.gz
3.2 Execute using below command if NAMD is built using charm++ MPI communication layer
- cd apoa1
- <namd-install-dir>/charmrun +p 2 <namd-install-dir>/namd2 ./apoa1.namd
- It will create three output files namely apoa1-out.coor, apoa1-out.vel, apoa1-out.xsc
3.3 Execute using below command if NAMD is built using charm++ net (ibverbs) communication layer
- cd apoa1
- <namd-install-dir>/charmrun +p 2 ++remote-shell ssh <namd-install-dir>/namd2 ./apoa1.namd
- It will create three output files namely apoa1-out.coor, apoa1-out.vel, apoa1-out.xsc
4. Known Errors & Solutions
5. References
5.1 http://www.nic.uoregon.edu/tau-wiki/Guide:NAMDTAU
5.2 http://www.ks.uiuc.edu/Research/namd/2.10/features.html
5.3 http://www.hpcadvisorycouncil.com/pdf/NAMD_Best_Practices.pdf