The HPCG Benchmark represent a significant departure from the classic high
performance Linpack benchmark (HPL) presently used for ranking the top
500 computer systems. HPCG generates and uses sparse data structures
that have a very low compute-to-data-movement ratio, especially compared
to HPL.
For a given problem
size N, HPL performs floating point operations proportional to N*N*N
operations while performing memory reads and write proportional to
N*N. That means, if the problem size doubles, the number of floating
point operations increases by a factor of 8 while the number of memory
operations only grows by a factor of 4. This property of HPL means that
it performs very well on systems that have many floating point functional
units relative to data movement support. The result is that HPL tends to
represent a very optimistic performance prediction that can only be
matched by a small number of real scientific applications.
HPCG has a floating point operations rate proportional to N and
a memory access rate also proportional to N. This property means that,
unlike HPL, HPCG performance is strongly influenced by memory bandwidth.
Some have even claimed that HPCG is just like another popular benchmark
called STREAMS, but this is a simplistic analysis that does not take into
account the other challenges that HPCG presents to a given computing
platform.