MOLECULAR DYNAMICS PERFORMANCE GUIDE - Digital Research Alliance of CANADA

BENCHMARK DETAILS

ID=120

  • Dataset: 6n4o
  • Software: NAMD2.cuda.ofi (namd-ofi-smp/2.14-iimklc-2020a-avx2)
  • Resource: 8 tasks, 6 cores, nodes, 8 GPUs, no NVLink
  • CPU: Xeon E5-2650 (Sandy Bridge), 2.2 GHz
  • GPU: Tesla-P100-PCIE-12GB, 6 cores/GPU
  • Simulation speed: 6.15383 ns/day
  • Efficiency: 22.7 %
  • Site: Cedar
  • Date: Jan. 22, 2022, 5:18 p.m.
  • Submission script:

    !!! MEMORY LEAK !!!

    #!/bin/bash
    #SBATCH --ntasks=8 --nodes=2
    #SBATCH --cpus-per-task=6
    #SBATCH --gpus-per-node=p100:4
    #SBATCH --mem-per-cpu=2000 --time=1:0:0
    # Usage: sbatch $0 number_of_steps
    INPFILE=namd.in

    STEPS=$1
    TMPFILE=tf_${SLURM_JOBID}
    RUN_IN=run_${SLURM_JOBID}.in
    cp ${INPFILE} ${RUN_IN}
    echo numsteps $1 >> run_${SLURM_JOBID}.in
    ml StdEnv/2020 cuda/11.0 namd-ofi-smp/2.14

    echo ${SLURM_NODELIST} running on ${SLURM_CPUS_PER_TASK} cores
    cat /proc/cpuinfo | grep "model name" | uniq

    (( NUM_PES=$SLURM_CPUS_PER_TASK - 1 ))
    srun --mpi=pmi2 namd2 ++ppn $NUM_PES +idlepoll ${RUN_IN} > ${TMPFILE}

  • Notes:

    !!! MEMORY LEAK !!!

    # calc_speed.sh
    #!/bin/bash
    echo "Usage: sh cal_speed.sh output_filename nsteps"
    grep CPUTime $1 | cut -f5 -d " " | awk -v steps=$2 '{ print 3.6*2.4*steps*0.01/$1}'

  • Simulation input file:

    # Amber/(t,s,x)leap generated parm and crd file
    parmfile prmtop.parm7
    ambercoor inpcrd.rst7
    # Input
    bincoordinates equilibration.coor
    binvelocities equilibration.vel
    extendedsystem equilibration.xsc
    # Output
    restartfreq 10000
    dcdfreq 10000
    outputEnergies 10000
    outputPressure 10000
    outputname equilibration
    # Number of steps
    # numsteps 10000
    # AMBER Force Field 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
    zeromomentum on
    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