NAMD

From HP-SEE Wiki

(Difference between revisions)
Jump to: navigation, search
(Created page with "__TOC__ * Web site: link * Described version: xx.xx * Licensing: e.g. LGPL 3, BSD... * User documentation: link * Download: link * Source code: link == Authors/Maintainers == *...")
(Resource Centers)
 
(7 intermediate revisions not shown)
Line 1: Line 1:
__TOC__
__TOC__
-
* Web site: link
+
* Web site: http://www.ks.uiuc.edu/Research/namd
-
* Described version: xx.xx
+
* Described version: 2.8
-
* Licensing: e.g. LGPL 3, BSD...
+
* Licensing: Free for non-commercial use, http://www.ks.uiuc.edu/Research/namd/license.html
-
* User documentation: link
+
* User documentation: www.ks.uiuc.edu/Research/namd/2.8/ug.pdfl http://www.ks.uiuc.edu/Research/namd/2.8/ug/
-
* Download: link
+
 
-
* Source code: link
+
* Download: http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD
 +
* Source code: http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=NAMD
== Authors/Maintainers ==
== Authors/Maintainers ==
Line 12: Line 13:
== Summary ==
== Summary ==
-
One paragraph description of purpose, targer area, approach.
+
NAMD is a parallel classical 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 a specifically designed
 +
molecular graphics program VMD for simulation setup and analysis of MD trajectories
 +
that it generates, but is also file-compatible with AMBER, CHARMM, and X-PLOR.
 +
It is available as precompiled binaries for many platforms, including BlueGene/P and
 +
Origin2000. Using the source code, it could be built on any platform supporting MPI or
 +
Ethernet. Supports simulation varying from basic ones like constant temperature via
 +
rescaling, coupling, or Langevin dynamics, constant pressure via Berendsen or Langevin
 +
Nose-Hoover methods, particle mesh Ewald full electrostatics for periodic systems,
 +
symplectic multiple time step integration. It also enables performing of alchemical free
 +
energy calculations by gradual mutation of a subset of atoms of the studied systems
 +
from one state to another, using either the free energy perturbation or thermodynamics
 +
integration approach. Conformational free energy calculations are also possible within
 +
the collective variables module of the code.
 +
NAMD is implemented using the Converse runtime system, and the major components of
 +
NAMD are written in charm++. Converse provides machine-independent interface to all
 +
popular parallel computers as well as workstation clusters. Converse also implements a
 +
data-driven execution model, allowing parallel languages such as charm++ to support
 +
the dynamic behaviour of NAMD's chunk-based decomposition scheme.
 +
The dynamic components of NAMD are implemented in the charm++ parallel language.
 +
It is composed of collections of C++ objects, which communicate by remotely invoking
 +
methods on other objects. This supports the multi-partition decompositions in NAMD.
 +
Also data-driven execution adaptively overlaps communication and computation. Finally,
 +
NAMD benefits from charm++'s load balancing framework to achieve unsurpassed
 +
parallel performance.
 +
The largest simulation to date performed with NAMD is over 300,000 atoms on 1000
 +
processors.  
== Features ==
== Features ==
-
* Listed features
+
* http://www.ks.uiuc.edu/Research/namd/features.html
== Architectural/Functional Overview ==
== Architectural/Functional Overview ==
-
* high level design info, how it works, performance - may be a link, or several links
+
* http://www.ks.uiuc.edu/Research/namd/performance.html
== Usage Overview ==
== Usage Overview ==
-
* If possible with small example - may be a link
+
In the context of sequential statistical physics – quantum mechanical studies of complex condensed matter systems, NAMD is used to generate classical molecular dynamics trajectory for the system of interest. This trajectory is later on analyzed with time-series analytic tools and appropriately chosen snapshots are subsequently subjected to a more in-depth analysis by application of more advanced an rigorous quantum mechanical methodologies.
 +
 
 +
On a multicore Linux machine:
 +
namd2 +p<procs> <configfile>
 +
On a multiprocessor workstation, with the aid of the charmrun program (the ++local option is used to specify that only the local machine should be used):
 +
charmrun namd2 ++local +p<procs> <configfile>
== Dependacies ==
== Dependacies ==
-
* list of all relevant dependencies on other libraries
+
The following files are needed to run an NAMD simulation:
 +
* Force field parameters (in either CHARMM or X-PLOR format) http://mackerell.umaryland.edu/CHARMM_ff_params.html
 +
* A PSF file (in X-PLOR format) describing the molecular structure
 +
* A PDB file with initial coordinates of the studied molecular system
 +
* A configuration file
== HP-SEE Applications ==
== HP-SEE Applications ==
-
* Applications using it
+
* CompChem
 +
* ISyMAB
 +
* MDSCS
 +
* HC-HC-MD-QM-CS
== Resource Centers ==
== Resource Centers ==
-
* RCs supporting it (with version number if not the same as above)
+
* BG/P, BG
 +
* HPCG, BG
 +
* IFIN_Bio, RO
 +
* NCIT-Cluster, RO
 +
* IPB, RS
== Usage by Other Projects and Communities ==
== Usage by Other Projects and Communities ==
Line 36: Line 81:
== Recommendations for Configuration and Usage ==
== Recommendations for Configuration and Usage ==
-
 
+
Compilation of NAMD from scratch, i.e. building the complete binary “from source”, besides the C and C++ compilers, also requires certain libraries, such as Charm++/Converse, TCL and FFTW. While compilation without TCL or FFTW is possible, some of the program features will be disabled. The Charm++/Converse library is included in the source distribution of NAMD, while precompiled TCL and FFTW libraries are available from http://www.ks.uiuc.edu/Research/namd/libraries/. A complete NAMD building sequence consists of the following steps:
-
Please describe here any common settings, configurations or conventions that would make the usage of this resource (library or tool) more interoperable or scalable across the HP-SEE resources. These recommendations should include anything that is related to the resource and is agreed upon by administrators and users, or across sites and applications. These recommendations should emerge from questions or discussions opened by site administrators or application developers, at any stage, including installation, development, usage, or adaptation for another HPC centre.
+
Unpacking of NAMD source code. E.g. for the 2.9b3 release:
-
 
+
tar xzf NAMD_2.9b3_Source.tar.gz
-
Provided descriptions should describe general or site specific aspects of resource installation, configuration and usage, or describe the guidelines or convention for deploying or using the resource within the local (user/site) or temporary environment (job). Examples are:
+
Unpacking the corresponding Charm++/Converse library:
-
 
+
tar xf charm-6.4.0.tar
-
* Common configuration settings of execution environment
+
Entering the charm directory:
-
* Filesystem path or local access string
+
cd charm-6.4.0
-
* Environment variables to be set or used by applications
+
Building (and subsequent testing) of the Charm++/Converse library (e.g. the MPI version):
-
* Options (e.g. additional modules) that are needed or required by applications and should be present
+
env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 –with-production
-
* Minimum quantitative values (e.g. quotas) offered by the site
+
Changing to the test directory:
-
* Location and format of some configuration or usage hint instructing applications on proper use of the resource or site specific policy
+
cd mpi-linux-x86_64/tests/charm++/megatest
-
* Key installation or configuration settings that should be set to a common value, or locally tweaked by local site admins
+
Compilation of pgm
-
* Conventions for application or job bound installation and usage of the resource
+
make pgm
 +
Running the test:
 +
mpirun –n X ./pgm
 +
Downloading and installation of the TCL and FFTW libraries
 +
cd NAMD_2.9b3_Source
 +
wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
 +
tar xzf fftw-linux-x86_64.tar.gz
 +
mv linux-x86_64 fftw
 +
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
 +
tar xzf tcl8.5.9-linux-x86_64.tar.gz
 +
mv tcl8.5.9-linux-x86_64 tcl
 +
If the directories charm-6.4.0, fftw and tcl are subdirectories of NAMD_2.9b3_Source, then essentially no editing of various configuration files is needed. If this is not the case, however, then the following files need to be edited:
 +
vi Make.charm (CHARMBASE should be set to point to full path to charm)
 +
vi arch/Linux-x86_64.fftw (the library name and path to files should be set properly)
 +
vi arch/Linux-x86_64.tcl (the library name/version and path to TCL files should be set properly)
 +
Setting up the build directory and compiling (e.g. the MPI version):
 +
./config Linux-x86_64-g++ --charm-arch mpi-linux-x86_64
 +
cd Linux-x86_64-g++
 +
make

Latest revision as of 20:12, 26 April 2012

Contents


Authors/Maintainers

  • Also origin, if the software comes from a specific project.

Summary

NAMD is a parallel classical 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 a specifically designed molecular graphics program VMD for simulation setup and analysis of MD trajectories that it generates, but is also file-compatible with AMBER, CHARMM, and X-PLOR. It is available as precompiled binaries for many platforms, including BlueGene/P and Origin2000. Using the source code, it could be built on any platform supporting MPI or Ethernet. Supports simulation varying from basic ones like constant temperature via rescaling, coupling, or Langevin dynamics, constant pressure via Berendsen or Langevin Nose-Hoover methods, particle mesh Ewald full electrostatics for periodic systems, symplectic multiple time step integration. It also enables performing of alchemical free energy calculations by gradual mutation of a subset of atoms of the studied systems from one state to another, using either the free energy perturbation or thermodynamics integration approach. Conformational free energy calculations are also possible within the collective variables module of the code. NAMD is implemented using the Converse runtime system, and the major components of NAMD are written in charm++. Converse provides machine-independent interface to all popular parallel computers as well as workstation clusters. Converse also implements a data-driven execution model, allowing parallel languages such as charm++ to support the dynamic behaviour of NAMD's chunk-based decomposition scheme. The dynamic components of NAMD are implemented in the charm++ parallel language. It is composed of collections of C++ objects, which communicate by remotely invoking methods on other objects. This supports the multi-partition decompositions in NAMD. Also data-driven execution adaptively overlaps communication and computation. Finally, NAMD benefits from charm++'s load balancing framework to achieve unsurpassed parallel performance. The largest simulation to date performed with NAMD is over 300,000 atoms on 1000 processors.

Features

Architectural/Functional Overview

Usage Overview

In the context of sequential statistical physics – quantum mechanical studies of complex condensed matter systems, NAMD is used to generate classical molecular dynamics trajectory for the system of interest. This trajectory is later on analyzed with time-series analytic tools and appropriately chosen snapshots are subsequently subjected to a more in-depth analysis by application of more advanced an rigorous quantum mechanical methodologies.

On a multicore Linux machine:

namd2 +p<procs> <configfile>

On a multiprocessor workstation, with the aid of the charmrun program (the ++local option is used to specify that only the local machine should be used):

charmrun namd2 ++local +p<procs> <configfile>

Dependacies

The following files are needed to run an NAMD simulation:

  • Force field parameters (in either CHARMM or X-PLOR format) http://mackerell.umaryland.edu/CHARMM_ff_params.html
  • A PSF file (in X-PLOR format) describing the molecular structure
  • A PDB file with initial coordinates of the studied molecular system
  • A configuration file

HP-SEE Applications

  • CompChem
  • ISyMAB
  • MDSCS
  • HC-HC-MD-QM-CS

Resource Centers

  • BG/P, BG
  • HPCG, BG
  • IFIN_Bio, RO
  • NCIT-Cluster, RO
  • IPB, RS

Usage by Other Projects and Communities

  • If any

Recommendations for Configuration and Usage

Compilation of NAMD from scratch, i.e. building the complete binary “from source”, besides the C and C++ compilers, also requires certain libraries, such as Charm++/Converse, TCL and FFTW. While compilation without TCL or FFTW is possible, some of the program features will be disabled. The Charm++/Converse library is included in the source distribution of NAMD, while precompiled TCL and FFTW libraries are available from http://www.ks.uiuc.edu/Research/namd/libraries/. A complete NAMD building sequence consists of the following steps: Unpacking of NAMD source code. E.g. for the 2.9b3 release:

tar xzf NAMD_2.9b3_Source.tar.gz

Unpacking the corresponding Charm++/Converse library:

tar xf charm-6.4.0.tar

Entering the charm directory:

cd charm-6.4.0

Building (and subsequent testing) of the Charm++/Converse library (e.g. the MPI version):

env MPICXX=mpicxx ./build charm++ mpi-linux-x86_64 –with-production

Changing to the test directory:

cd mpi-linux-x86_64/tests/charm++/megatest

Compilation of pgm

make pgm

Running the test:

mpirun –n X ./pgm

Downloading and installation of the TCL and FFTW libraries

cd NAMD_2.9b3_Source
wget http://www.ks.uiuc.edu/Research/namd/libraries/fftw-linux-x86_64.tar.gz
tar xzf fftw-linux-x86_64.tar.gz
mv linux-x86_64 fftw
wget http://www.ks.uiuc.edu/Research/namd/libraries/tcl8.5.9-linux-x86_64.tar.gz
tar xzf tcl8.5.9-linux-x86_64.tar.gz
mv tcl8.5.9-linux-x86_64 tcl

If the directories charm-6.4.0, fftw and tcl are subdirectories of NAMD_2.9b3_Source, then essentially no editing of various configuration files is needed. If this is not the case, however, then the following files need to be edited:

vi Make.charm (CHARMBASE should be set to point to full path to charm)
vi arch/Linux-x86_64.fftw (the library name and path to files should be set properly)
vi arch/Linux-x86_64.tcl (the library name/version and path to TCL files should be set properly)

Setting up the build directory and compiling (e.g. the MPI version):

./config Linux-x86_64-g++ --charm-arch mpi-linux-x86_64
cd Linux-x86_64-g++
make
Personal tools