MOLECULAR DYNAMICS PERFORMANCE GUIDE - Digital Research Alliance of CANADA

BENCHMARK DETAILS

ID=28

  • Dataset: 6n4o
  • Software: NAMD3.cuda (binary_pack/3.0a9------)
  • Resource: 1 tasks, 2 cores, nodes, 2 GPUs, no NVLink
  • CPU: Xeon Gold 6148 (Skylake), 2.4 GHz
  • GPU: Tesla-V100-PCIE-32GB, 8 cores/GPU
  • Simulation speed: 22.7408 ns/day
  • Efficiency: 56.3 %
  • Site: Siku
  • Date: Jan. 31, 2022, 1:44 p.m.
  • Submission script:

    #!/bin/bash
    #SBATCH -c2 --gres=gpu:v100:2
    #SBATCH --mem-per-cpu=2000 --time=1:0:0
    # Usage: sbatch submit.cuda.sh [number_of_steps]
    INPFILE=namd.in
    #------- End of user input ------
    STEPS=$1
    TMPFILE=tf_${SLURM_CPUS_PER_TASK}
    cp $INPFILE run_${SLURM_CPUS_PER_TASK}.in
    echo numsteps $1 >> run_${SLURM_CPUS_PER_TASK}.in
    echo "CUDASOAintegrate on" >> run_${SLURM_CPUS_PER_TASK}.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
    nvidia-smi -L
    # Run simulation three times
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run_${SLURM_CPUS_PER_TASK}.in > $TMPFILE
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run_${SLURM_CPUS_PER_TASK}.in > $TMPFILE
    $NAMDHOME/namd3 +p${SLURM_CPUS_PER_TASK} +idlepoll run_${SLURM_CPUS_PER_TASK}.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_${SLURM_CPUS_PER_TASK}.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