LLMpediaThe first transparent, open encyclopedia generated by LLMs

HPCG Benchmark

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 51 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted51
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
HPCG Benchmark
NameHPCG Benchmark
AuthorJack Dongarra, Michael Heroux, Piotr Luszczek
DeveloperUniversity of Tennessee, Sandia National Laboratories
Released0 2013
Programming languageC++, MPI, OpenMP
Operating systemLinux, Unix-like
PlatformSupercomputer
GenreBenchmark (computing)
Websitehttps://hpcg-benchmark.org/

HPCG Benchmark. The HPCG Benchmark is a performance measurement tool designed to complement the traditional LINPACK benchmark used for the TOP500 list of supercomputers. Developed by a team including Jack Dongarra, it aims to provide a more realistic assessment of a system's capabilities for complex, data-intensive scientific applications. Its results offer a crucial counterpoint to peak performance claims, emphasizing sustained memory bandwidth and network latency.

Overview

The benchmark was created in response to the growing disparity between the computational patterns measured by High Performance Linpack and those found in modern computational science and engineering simulation workloads. It was formally introduced in 2013 by researchers from the University of Tennessee and Sandia National Laboratories. The primary goal is to stress the memory subsystem and inter-processor communication of a supercomputer, rather than just its theoretical peak floating-point performance. This shift in focus reflects the architectural evolution driven by the demands of applications in fields like computational fluid dynamics and molecular dynamics.

Design and Methodology

HPCG solves a sparse linear system using a conjugate gradient method with a multigrid preconditioner, a common algorithmic pattern in scientific computing. The core computation is a sparse matrix-vector multiply, which is highly dependent on memory access patterns and communication efficiency. The benchmark is implemented in C++ and parallelized using standard Message Passing Interface and OpenMP programming models. Its problem size scales with the system under test, ensuring it exercises a significant portion of the machine's memory hierarchy and interconnect, such as those from Intel, AMD, or NVIDIA.

Performance Metrics and Results

The primary result is a performance rating measured in FLOPS, but this figure is typically orders of magnitude lower than a system's HPL result. For example, the Fugaku system at RIKEN Center for Computational Science has topped both the HPL and HPCG lists, but its HPCG performance is a small fraction of its peak. Results are published on a dedicated website and are often analyzed alongside TOP500 rankings to provide a more holistic view. The performance gap between HPL and HPCG results itself is a key metric, highlighting a system's balance between computational power and data movement efficiency.

Comparison with HPL

While HPL is a dense linear algebra benchmark that maximizes floating-point unit utilization, HPCG represents sparse, irregular, and data-intensive computations. HPL performance can be optimized with vendor-tuned BLAS libraries and often benefits from specialized accelerators. In contrast, HPCG performance is more constrained by memory bandwidth and the performance of the interconnection network, such as InfiniBand or Slingshot. This fundamental difference means the two benchmarks rank systems differently, with HPCG favoring architectures with balanced designs, as seen in systems from Cray or Hewlett Packard Enterprise.

Implementation and Usage

Running the benchmark requires building it for a specific system architecture, often involving optimization for the local MPI library and compiler suite, like those from GNU Compiler Collection or Intel oneAPI. System administrators and vendors use it for acceptance testing and hardware procurement to ensure a machine will perform well on real applications. It is also used as a research tool by computer scientists at institutions like Lawrence Livermore National Laboratory and Argonne National Laboratory to evaluate new architectural features and programming paradigms.

Significance and Impact

The HPCG Benchmark has significantly influenced the high-performance computing community by challenging the sole reliance on HPL for ranking and evaluating systems. It has spurred hardware designers to focus more on memory and network subsystems, not just peak FLOPS. The benchmark is endorsed by organizations like the IEEE Computer Society and is considered a more meaningful predictor for a range of applications from climate modeling to astrophysics. Its ongoing development ensures it remains relevant for emerging architectures, including those based on ARM architecture and GPU-accelerated systems.

Category:Benchmarks (computing) Category:Supercomputing Category:High-performance computing