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

GROMACS (2019.4)

Description: Gromacs 2019.4 with Plumed 2.6.0 compiled using Intel 2018 + CUDA 10.0

Binaries Available: gmx_mpi, demux.pl, xplor2gmx.pl, plumed, plumed-config

Use Module:

module load apps/gromacs/2019.4/intel
Note:

Please read each comment carefully As per the recent benchmark for above mentioned version, we got best efficiency with OMP_NUM_THREADS = 4. Make sure that ncpus value must be a multiple of OMP_NUM_THREADS value. Change project name,resources,queue,input file etc. In case of GPU job there is no separate binary, gmx_mpi will work for any job as gromacs automatically detect if the gpu is available.

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

    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.

    module load apps/gromacs/2019.4/intel
    export OMP_NUM_THREADS=4
    PROCS=$((PBS_NTASKS / OMP_NUM_THREADS))
    mpirun -np $PROCS  gmx_mpi mdrun  -ntomp $OMP_NUM_THREADS -nsteps 10000 -v -s TPRname.tpr

  3. Batch Job Submission
  4. Copy sample batch job submission script i.e gromacsJobSubmit.sh from /home/apps/skeleton/gromacsJobSubmit.sh

    Submit job using :
    qsub gromacsJobSubmit.sh
    ----------------------- gromacsJobSubmit.sh  -----------------------------
    #!/usr/bin/env bash
    #PBS -N Gromacs
    ## 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=12
    
    ## K40 GPU JOB
    ##PBS -lselect=1:ncpus=12:ngpus=1:centos=haswell
    
    ## V100 GPU JOB
    ##PBS -lselect=1:ncpus=12:ngpus=1:centos=skylake
    
    #PBS -l walltime=00:30:00
    #PBS -l software=GROMACS
    
    # Environment
    echo "==============================="
    echo $PBS_JOBID
    cat $PBS_NODEFILE
    echo "==============================="echo "==============================="
    cd $PBS_O_WORKDIR
    
    module purge
    module load apps/gromacs/2019.4/intel
    
    export OMP_NUM_THREADS=4
    PROCS=$((PBS_NTASKS / OMP_NUM_THREADS))
    mpirun -np $PROCS  gmx_mpi mdrun  -ntomp $OMP_NUM_THREADS -nsteps 10000 -v -s TPRname.tpr