NAMD
NAMD is a parallel, object-oriented molecular dynamics code designed for high-performance simulation of large biomolecular systems. It is file-compatible with AMBER, CHARMM and X-PLOR.
Installed on: blacklight, salk, and warhol.
Please read the license agreement.
Blacklight Version
Improving Performance Using Hyperthreading
Your performance may be improved by using hyperthreading with NAMD, but it is dependent on the specific application. We have seen significant improvements in some test cases. We recommend that you test hyperthreading with your application and determine its effect.
To use hyperthreading, replace $PBS_NCPUS with $PBS_HT_NCPUS in the mpirun command. This will run two threads on a single core.
Bug: Passing -np 32 to mpirun
If the value that you are passing to the mpirun command with -np is 32, your job will fail with no indication of what went wrong. In this case, defining the MPI_MAPPED_STACK_SIZE variable will solve the problem. This is true whether you are passing $PBS_NCPUS or $PBS_HT_NCPUS to -np.
For example:
- If you request 32 cores with the PBS directive
$PBS -l ncpus=32
and use $PBS_NCPUS in the mpirun commandmpirun -np $PBS_NCPUS ...
you should define MPI_MAPPED_STACK_SIZE in your job script before the mpirun command:export MPI_MAPPED_STACK_SIZE=64M ! for the bash shell setenv MPI_MAPPED_STACK_SIZE 64M ! for the C shell
- If you request 16 cores with the PBS directive
$PBS -l ncpus=16
and use hyperthreading by using $PBS_HT_NCPUS in the mpirun commandmpirun -np $PBS_HT_NCPUS ...
you should define MPI_MAPPED_STACK_SIZE in your job script before the mpirun command:export MPI_MAPPED_STACK_SIZE=64M ! for the bash shell setenv MPI_MAPPED_STACK_SIZE 64M ! for the C shell
Usage
The executable is named namd2.
To use NAMD:
Currently, NAMD can be run only from the bash shell. We are working to make it available under all shells.
- Prepare a job script containing commands to:
- Set up the module command
- Load the NAMD module. First, check to
see the available versions and choose
which module to load.
module avail namd module load namd
loads the default version. - Use an MPI command like:
mpirun -np $PBS_NCPUS dplace -s1 namd2 prog.namd > prog.log
To use hyperthreading, replace $PBS_NCPUS with $PBS_HT_NCPUS. This will run two threads on a single core.
- Submit the job script with a qsub command.
See the example job.
Salk versions
Versions 2.6, 2.7b1 and 2.7b2 are installed; the executables are named namd2. To use NAMD:
- Prepare a job script containing commands to:
- Set up the module command
- Load the NAMD module. First, check to
see the available versions and choose
which module to load.
module avail namd module load namd
loads the default version. - Use an MPI command like:
mpirun -np $PBS_PPN dplace -s1 namd2 prog.namd > prog.log
- Submit the job script with a qsub command.
See the example job.
Warhol version
Version 2.7 is installed in directory /usr/local/packages/namd2/NAMD2.7b1/. The executable is named namd2. To use NAMD:
- Prepare a job script containing commands to:
- Load the appropriate compilers:
module unload openmpi_gcc module load icc module load mvapich_intel
- Execute a NAMD program.
mpirun /usr/local/packages/namd2/NAMD2.7b1/namd2
- Load the appropriate compilers:
- Submit the job script with a qsub command.
See the example job.