Last modified: September 07 2020.
Contact: hpchelp [at] iitd.ac.in

NAMD (Version 2.13)

Description : Two separate modules for CPU & GPU version, both are compiled with intel compiler + FFTW + TCL + cuda 10.0
Binaries Available : charmrun, flipbinpdb, flipdcd, namd2, psfgen, sortreplicas

CPU version, Use Module:

 module load apps/NAMD/2.13/cpu/intel2015 

GPU version, Use Module:

 module load apps/NAMD/2.13/gpu/intel2019
Note:

Please read each comment carefully. Change project name,resources,input file name, queue, Input File Name etc.

  1. Interactive Job Submission
  2. CPU Job
    qsub -I -P cc -q standard -lselect=1:ncpus=12 -lwalltime=00:30:00 -lsoftware=NAMD
    NVIDIA K40 GPU Job
    qsub -I -P cc -q standard -lselect=1:ncpus=12:ngpus=1:centos=haswell -lwalltime=00:30:00 -lsoftware=NAMD
    NVIDIA V100 GPU Job
    qsub -I -P cc -q standard -lselect=1:ncpus=12:ngpus=1:centos=skylake -lwalltime=00:30:00 -lsoftware=NAMD

    Refer any of the above qsub statement as per the type of job you want to submit. After getting the resources, use below execution commands for any of the above mentioned type of job.

    ------------ CPU JOB EXECUTION BLOCK ----------------
    module load apps/NAMD/2.13/cpu/intel2015
    mpirun -np $PBS_NATSKS namd2 +idlepoll stmv.namd
    -----------------------------------------------------
    -------------GPU JOB EXECUTION BLOCK ----------------
    module load apps/NAMD/2.13/gpu/intel2019

    NAMD GPU built with SMP MPI CUDA Hence, need to use OMP_NUM_THREADS greater than 1, otherwise will give error

    export OMP_NUM_THREADS=2
    PROCS=$((PBS_NTASKS / OMP_NUM_THREADS))
    mpirun -np $PROCS namd2 +ppn $OMP_NUM_THREADS +idlepoll stmv.namd
  3. Batch Job Submission
  4. Copy sample batch job submission script i.e namdSubmit.sh from /home/apps/skeleton/namdSubmit.sh

    Submit job using :
    qsub namdSubmit.sh
    -------------- namdSubmit.sh ---------------------------------------------
    #/bin/sh
    #PBS -N NAMD2.13
    ## Change Project Name,Queue,Resources,Walltime, Input file name etc.
    #PBS -P cc
    #PBS -q standard
    #PBS -M $USER@iitd.ac.in
    #PBS -m bea
    #########################################
    ## Refer any of the below mentioned select statemnt
    ## as per the type of job you want to submit
    ## Keep single # before PBS to consider it as command ,
    ## more than one # before PBS considered as comment.
    ## any command/statement other than PBS starting with # is considered as comment.
    ## Please comment/uncomment the portion as per your requirement before submitting job
    
    ## CPU JOB
    #PBS -l select=1:ncpus=10
    
    ## K40 GPU JOB
    ##PBS -lselect=1:ncpus=10:ngpus=1:centos=haswell
    
    ## V100 GPU JOB
    ##PBS -lselect=1:ncpus=10:ngpus=1:centos=skylake
    
    #PBS -l walltime=00:30:00
    #PBS -l software=NAMD
    
    ## Environment
    echo "==============================="
    echo $PBS_JOBID
    cat $PBS_NODEFILE
    echo "==============================="
    module purge
    
    ##------------ CPU JOB EXECUTION BLOCK ----------------
    module load apps/NAMD/2.13/cpu/intel2015
    mpirun -np $PBS_NATSKS namd2 +idlepoll stmv.namd
    ##----------------------------------------------------
    
    ##------------ GPU JOB EXECUTION BLOCK ----------------
    # module load apps/NAMD/2.13/gpu/intel2019
    ## NAMD GPU built with SMP MPI CUDA
    ## Hence , need to use OMP_NUM_THREADS greater than 1,  otherwise will give error
    # export OMP_NUM_THREADS=2
    # PROCS=$((PBS_NTASKS / OMP_NUM_THREADS))
    # mpirun -np $PROCS namd2 +ppn $OMP_NUM_THREADS +idlepoll stmv.namd
    ##-----------------------------------------------------------------