Getting started with NAMD Benchmarks


The following best practices document is provided as courtesy of the HPC Advisory Council.


References 

Overview 

NAMD, is a parallel molecular dynamics code designed for high-performance simulation of large bio-molecular systems. Based on Charm++ parallel objectsNAMD uses the popular molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR. For more information about NAMD, refer to 


This post show the installation, configuration and slurm script execution for hpcx and intel MPI layers.


Versions and Setup Details

  • This example uses NAMD version 2.12 sources. Download 
  • Setup used: Heimdall
  • OS RHEL 6.6
  • Intel Compiler 
  • HPC-X installed 

Prerequisites

  • Download NAMD_2.12_Source.tar.gz from here.
  • You may need to compile tcl and fttw packages, if not available on your server, refer NAMD homepage for more info.

Compile NAMD

1. Extract the NAMD tar file and charm tar

$ tar xfp NAMD_2.12_Source.tar.gz
$ cd NAMD_2.12_Source
$ tar xfp charm-6.7.1.tar


2. Check the available modules

$ module avail 
$ module list


3. Clear old modules if needed

$ module purge


4. Load the intel compiler and the hpcx

$ module load intel/compiler/2017.4.196
$ module load hpcx-1.9/icc-2017

$ module list
Currently Loaded Modulefiles:
  1) intel/compiler/2017.4.196   2) hpcx-1.9/icc-2017


5. Build the charm package

$ cd charm-6.7.1
$ ./build charm++ mpi-linux-x86_64 mpicxx ifort --no-shared -O3 -DCMK_OPTIMIZE=1
...


6. Configure the NAMD 


$ ./config Linux-x86_64-icc --charm-arch mpi-linux-x86_64-ifort-mpicxx --with-fftw3

Selected arch file arch/Linux-x86_64-icc.arch contains:
NAMD_ARCH = Linux-x86_64
CHARMARCH = multicore-linux64-iccstatic
FLOATOPTS = -ip -axAVX
CXX = icpc -std=c++11
CXXOPTS = -static-intel -O2 $(FLOATOPTS)
CXXNOALIASOPTS = -O2 -fno-alias $(FLOATOPTS)
CXXCOLVAROPTS = -O2 -ip
CC = icc
COPTS = -static-intel -O2 $(FLOATOPTS)
Creating directory: Linux-x86_64-icc
Creating link: .. to .rootdir
Using FFTW build found in /home/namd/fftw
Writing build options to Linux-x86_64-icc/Make.config
Using Charm++ 6.7.1 build found in main build directory
Warning: No such directory .rootdir/charm-6.7.1/mpi-linux-x86_64-ifort-mpicxx
Using Tcl build found in /home/namd/tcl
Linking Makefile
Linking Make.depends
Linking src directory
Linking plugins directory
Linking psfgen directory
Generated Linux-x86_64-icc/Make.config contains the following:
CHARMBASE = .rootdir/charm-6.7.1
include .rootdir/arch/Linux-x86_64-icc.arch
CHARMARCH = mpi-linux-x86_64-ifort-mpicxx
CHARM = $(CHARMBASE)/$(CHARMARCH)
NAMD_PLATFORM = $(NAMD_ARCH)-MPI
include .rootdir/arch/$(NAMD_ARCH).base
include .rootdir/arch/$(NAMD_ARCH).tcl
include .rootdir/arch/$(NAMD_ARCH).fftw3
TCLDIR = $(HOME)/tcl
FFTDIR = /home/namd/fftw
You are ready to run make in directory Linux-x86_64-icc now.


7. Compile 


$ cd Linux-x86_64-icc
$ make -j 10
...
$ ls -al namd2
-rwxrwxr-x 1 namd namd 27015710 Sep 27 16:44 namd2



Run the Benchmark 

Download the input file from http://www.ks.uiuc.edu/Research/namd/utilities/apoa1.tar.gz or use other file.

Run the benchmark 


$ mpirun -np <number of procs> <MPI FLAGS> namd2 apoa1.namd


Related articles

Filter by label

There are no items with the selected labels at this time.