NAMD
From UF HPC Wiki
Contents |
Introduction
From the NAMD Website:
NAMD, recipient of a 2002 Gordon Bell Award, is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. Based on Charm++ parallel objects, NAMD scales to hundreds of processors on high-end parallel platforms and tens of processors on commodity clusters using gigabit ethernet. NAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR.
Basic Execution Instuctions
- Run 'mpi-selector --set mvapich_intel10-0.9.9' to set the proper MPI environment.
- Log out and log back in.
- Make yourself a job script similar to the one in the wiki here: NAMD Sample Script
- Submit the job.
Version 2.7 (b1)
MPI Executable
Build Date: 03/27/09
Compiler: Intel (10.1.015)
Libraries: FFTW (2.1.5)
MVAPICH (0.9.9)
charm++ (6.0)
Location: /apps/namd/2.7b1/Linux-x86_64-MPI-icc
Notes:
- For charm++ build: ./build charm++ mpi-linux-amd64
- For NAMD configuration: ./config Linux-x86_64-MPI-icc --charm-arch mpi-linux-amd64
- Created a custom architecture file: arch/Linux-x86_64-MPI-icc.arch (below)
- To run this executable your MPI environment must be set to mvapich_intel10-0.9.9 via mpi-selector
NAMD_ARCH = Linux-x86_64 CHARMARCH = mpi-linux-amd64 CXX = mpiCC CXXOPTS = -i-static -static-libgcc -O2 $(FLOATOPTS) CXXNOALIASOPTS = -O3 -fno-alias $(FLOATOPTS) CC = mpicc COPTS = -i-static -static-libgcc -O2 $(FLOATOPTS) FLOATOPTS = -ip -fno-rtti
Sample Script
The following script would submit a NAMD job running on 4 processors using mvapich (InfiniBand only). It is limited to one hour of runtime, and the job name will be "alanin". It runs namd using a configuration file named "alanin" located in the user's current (scratch) directory.
#!/bin/bash
#PBS -N alanin
#PBS -o alanin.out
#PBS -M <your email address here>
#PBS -j oe
#pbs -q submit
#PBS -l nodes=1:ppn=4:infiniband
#PBS -l walltime=1:00:00
IbEnabled=`/usr/local/sbin/IbEnabled`
if [ $IbEnabled -gt 0 ]; then
echo "Running on IB-enabled node set"
MPIRUN="mpiexec"
else
echo "Running on GigE-enabled node set"
echo "mvapich is not supported on GigE-only nodes"
exit
fi
NAMD=/apps/namd/2.7b1/Linux-x86_64-MPI-icc/namd2
cd $PBS_O_WORKDIR
$MPIRUN $NAMD alanin > alanin.log 2>&1
Compilation Instructions
These are build instructions for namd. These notes are more for those that are building namd, and not for those that are simply using the software for research. If you just need to use namd, please use the precompiled versions that are located above.
CUDA Executable
Build Date: 04/01/09
Compiler: GNU (4.1.2)
Libraries: FFTW (2.1.5)
CUDA (cudart)
charm++ (6.0)
Location: /apps/namd/2.7b1/Linux-x86_64-cuda
Notes:
- ./build charm++ multicore-linux64
- ./config Linux-x86_64 --with-cuda --charm-arch multicore-linux64
- cd Linux-x86_64
- make
- ./namd2 +idlepoll src/alanin
- wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
- tar xvzf apoa1.tar.gz
- ./namd2 +idlepoll apoa1/apoa1.namd
- ./namd2 +devices 0,1 +idlepoll apoa1/apoa1.namd
Intel 10 Compiler Build
- Charm++
- Edit src/arch/common/cc-icc.sh
- Remove all instances of -fpic and -cxxlib-icc
- Save the changes
- ./build charm++ multi-core-linux64 icc
- NAMD
- Create appropriate Linux-x86_64-icc files in arch/
- Linux-x86_64-icc.arch
- Linux-x86_64-icc.fftw
- Linux-x86_64-icc.tcl
- Linux-x86_64-icc.cuda
- ./config Linux-x86_6-icc --with-cuda --charm-arch multicore-linux64-icc
- cd Linux-x86_6-icc
- make
- Create appropriate Linux-x86_64-icc files in arch/
1094 find . -exec grep "cxxlib-icc" {} \;
1095 find . -exec grep "cxxlib-icc" {} \; -print
1096 cd src/arch/common/
1097 vi cc-icc.sh
1098 ls
1099 cd ..
1100 ls
1101 cd ..
1102 ls
1103 cd ..
1104 ls
1105 ./build charm++ multicore-linux64 icc
1106 man icc
1107 man icc
1108 ls
1109 rm -rf multicore-linux64-icc/
1110 find . -name cc-icc.sh
1111 vi src/arch/vmi-linux/cc-icc.sh
1112 vi src/arch/common/cc-icc.sh
1113 ls
1114 ./build charm++ multicore-linux64 icc
1115 ls
1116 cd ..
1117 ls
1118 cd namd2/
1119 ls
1120 rm -rf Linux-x86_64-icc/
1121 ./config Linux-x86_64-icc --with-cuda --charm-arch multicore-linux64-icc
1122 ls
1123 cd Linux-x86_64-icc/
1124 ls
1125 make
1126 ls
1127 ./namd2 +idlepoll src/alanin
1128 ls
1129 wget http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz
1130 ls
1131 tar xvzf apoa1.tar.gz
1132 ./namd2 +idlepoll apoa1/apoa1.namd
