In this short example we will show you how to run a simple GROMACS benchmark with EAR enabled.

GROMACS (https://www.gromacs.org)  

The HECBioSim Benchmarks (https://www.hecbiosim.ac.uk/access-hpc/benchmarks)

GROMACS A free and open-source software suite for high-performance molecular dynamics and output analysis.

HECBioSim benchmark suite consists of a set of simple benchmarks for a number of popular Molecular Dynamics (MD) engines, each of which is set at a different atom count. The benchmark suite currently contains benchmarks for the AMBER, GROMACS, LAMMPS and NAMD molecular dynamics packages.


Prepare the benchmark input

In this example we will choose the "465K atom system - hEGFR Dimer of 1IVO and 1NQL" simulation (which can be found here https://github.com/victorusu/GROMACS_Benchmark_Suite/tree/1.0.0/HECBioSim/hEGFRDimer).

  • This simulation contains a total number of atoms = 465,399 (Protein atoms = 21,749 Lipid atoms = 134,268 Water atoms = 309,087 Ions = 295).
  • The run will take about 10 minutes to execute (using all 128 cores of an AMD ROME node). 

Download it

curl -LJ https://github.com/victorusu/GROMACS_Benchmark_Suite/raw/1.0.0/HECBioSim/hEGFRDimer/benchmark.tpr -o hEGFRDimer_benchmark.tpr


Prepare the SLURM job-script

Notice all that is special here is Lines 10 and 11. This is how you call the EAR runtime library (EARL).

Read more detail here Energy Aware Runtime (EAR) if you want more information on how EAR works.

#!/bin/bash

#SBATCH -p rome
#SBATCH -n 128
#SBATCH -t 00:20:00
#SBATCH --exclusive 
#SBATCH --output=GROMACS_run.out
#SBATCH --error=GROMACS_run.err

#SBATCH --ear=on
#SBATCH --ear-policy=monitoring

module load 2022
module load foss/2022a
module load GROMACS/2021.6-foss-2022a

srun --ntasks=128 --cpus-per-task=1 gmx_mpi mdrun -s hEGFRDimer_benchmark.tpr 

Obviously you need to submit it to the SLURM scheduler!!

So... 

sbatch myjobscript.sh


Get energy and performance metrics report from your job

Once your job has completed all you need to do is use the energy accounting tool eacct  and pass your jobID to the job.

module load 2022
module load ear

eacct -j 4131948

You will see the metrics for the job...

   JOB-STEP USER       APPLICATION      POLICY NODES AVG/DEF/IMC(GHz) TIME(s)    POWER(W) GBS     CPI   ENERGY(J)    GFLOPS/W IO(MBs) MPI%  G-POW (T/U)     G-FREQ  G-UTIL(G/MEM)
4131948-sb   benjamic  myjobscript.sh MO     1     2.39/2.40/---    1206.00    485.80   ---     ---   585876       ---      ---     ---   ---             ---     ---
4131948-0    benjamic  myjobscript.sh MO     1     2.39/2.40/1.80   72.29      692.52   22.54   0.39  50064        44.5177  2.9     37.4  0.00/---        ---     ---

Read more about what these metrics mean here Energy Aware Runtime (EAR)#Jobaccounting(eacct)


  • No labels