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 objects. 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. 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.
Add Comment