MOLECULAR DYNAMICS PERFORMANCE GUIDE - Digital Research Alliance of CANADA

BENCHMARK DETAILS

ID=148

  • Dataset: 6n4o
  • Software: NAMD3.cuda (binary_pack/3.0a9------)
  • Resource: 1 tasks, 3 cores, nodes, 3 GPUs, with NVLink
  • CPU: EPYC 7413 (Milan), 2.65 GHz
  • GPU: NVIDIA-A100-SXM4-40GB, 12 cores/GPU
  • Simulation speed: 62.5182 ns/day
  • Efficiency: 61.9 %
  • Site: Narval
  • Date: Feb. 3, 2022, 5:15 p.m.
  • Submission script:

    #SBATCH -c3 --gres=gpu:3
    #SBATCH --mem-per-cpu=2000 --time=1:0:0
    # Usage: sbatch $0 number_of_steps
    INPFILE=namd.in
    #------- End of user input ------
    STEPS=$1
    TMPFILE=tf_${SLURM_CPUS_PER_TASK}
    cp $INPFILE run.in
    echo numsteps $1 >> run.in
    echo "CUDASOAintegrate on" >> run.in
    NAMDHOME=$HOME/NAMD_3.0alpha9_Linux-x86_64-multicore-CUDA

    echo ${SLURM_NODELIST} running on ${SLURM_CPUS_PER_TASK} cores
    cat /proc/cpuinfo | grep "model name" | uniq
    # Run simulation three times
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run.in > $TMPFILE
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run.in > $TMPFILE
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run.in > $TMPFILE

    # Print average of three runs.
    echo -n "ns/day:"
    grep CPUTime $TMPFILE | cut -f5 -d " " | awk -v steps=$STEPS '{ total += $1; count++ } END { print count*3.6*2.4*steps*0.01/total}'
    rm -f tf_* *.restart.* *.old *.BAK run.in

  • Notes:

  • Simulation input file:

    # Amber/(t,s,x)leap generated parm and crd file
    parmfile prmtop.parm7
    ambercoor inpcrd.rst7
    # GPU-resident integrator
    CUDASOAintegrate on
    numsteps 10000
    # Input
    bincoordinates equilibration.coor
    binvelocities equilibration.vel
    extendedsystem equilibration.xsc
    # Output
    restartfreq 10000
    dcdfreq 10000
    outputEnergies 10000
    outputPressure 10000
    outputname equilibration
    # AMBER FF settings
    amber on
    rigidBonds all
    useSettle on
    rigidTolerance 1.0e-8
    cutoff 9.0
    pairlistdist 11.0
    switching off
    exclude scaled1-4
    readexclusions yes
    1-4scaling 0.83333333
    scnb 2.0
    ljcorrection on
    # Integrator Parameters
    timestep 1.0
    nonbondedFreq 1
    fullElectFrequency 1
    stepspercycle 10
    wrapAll on
    # Temperature control
    langevin on
    langevinTemp 300
    langevinDamping 1.0
    # Pressure control
    useGroupPressure yes
    LangevinPiston on
    LangevinPistonTarget 1.0
    LangevinPistonPeriod 200
    LangevinPistonDecay 100
    LangevinPistonTemp 300
    # PME settings
    PME on
    PMEGridSizeX 144
    PMEGridSizeY 144
    PMEGridSizeZ 144