MOLECULAR DYNAMICS PERFORMANCE GUIDE - COMPUTE CANADA

SOFTWARE DETAILS

ID=12, NAMD2.ucx

  • Module/Version: namd-ucx/2.14
  • Toolchain/Version: iimkl/2020a
  • CPU instruction set: avx512
  • Example job submission script:
    1. #!/bin/bash
    2. #SBATCH -c1 --ntasks=20
    3. #SBATCH --mem-per-cpu=500 --time=1:0:0
    4. module --force purge
    5. module load StdEnv/2020 intel/2020.1.217 namd-ucx/2.14
    6. srun --mpi=pmi2 namd2 namd.in
  • Benchmark submission script:
    1. #!/bin/bash
    2. #SBATCH -c1 --ntasks=160
    3. #SBATCH --mem-per-cpu=500 --time=1:0:0
    4. # Usage: sbatch submit.sh [nsteps]
    5. INPFILE=namd.in
    6. #------- End of user input ------
    7. STEPS=$1
    8. NP=${SLURM_NTASKS}
    9. TMPFILE=tf_$NP
    10. cp $INPFILE run_$NP.in
    11. echo numsteps $1 >> run_$NP.in
    12. module --force purge
    13. module load StdEnv/2020 intel/2020.1.217 namd-ucx/2.14
    14. echo ${SLURM_NODELIST} running on ${NP} cores
    15. cat /proc/cpuinfo | grep "model name" | uniq
    16. # Run simulation three times
    17. srun --mpi=pmi2 namd2 run_$NP.in > $TMPFILE
    18. srun --mpi=pmi2 namd2 run_$NP.in >> $TMPFILE
    19. srun --mpi=pmi2 namd2 run_$NP.in >> $TMPFILE
    20. # Print average of three runs.
    21. echo -n "ns/day:"
    22. grep CPUTime $TMPFILE | cut -f5 -d " " | awk -v steps=$STEPS '{ total += $1; count++ } END { print count*3.6*2.4*steps*0.01/total}'
    23. rm -f tf_$NP *.restart.* *.old *.BAK *.dcd run_$NP.in