Skip to main content

HPCG

HPCG is a software package that performs a fixed number of multigrid preconditioned (using a symmetric Gauss-Seidel smoother) conjugate gradient (PCG) iterations using double precision (64 bit) floating point values.

What is Being Measured?

The HPCG rating is is a weighted GFLOP/s (billion floating operations per second) value that is composed of the operations performed in the PCG iteration phase over the time taken. The overhead time of problem construction and any modifications to improve performance are divided by 500 iterations (the amortization weight) and added to the runtime.

Workload Metrics

The following metrics are examples of those captured by the Virtual Client when running the HPCG workload.

Metric NameExample Value (min)Example Value (max)Example Value (avg)Unit
Total Gflop/s2.447369.111884.099711984732824Gflop/s

Packaging and Setup

Virtual Client uses spack to install and load the HPCG binaries. Currently Virtual Client runs HPCG with openmpi support.

Example of VC's HPCG run script:

. /home/vcvmadmin/VirtualClient/packages/spack/share/spack/setup-env.sh
spack install --reuse -n -y hpcg %gcc +openmp target=zen2 ^openmpi@4.1.1
spack load hpcg %gcc
mpirun --np 4 --use-hwthread-cpus --allow-run-as-root


Example of VC's hpcg.dat file:

HPCG benchmark input file
HPC Benchmarking team, Microsoft Azure
104 104 104
1800