-
Notifications
You must be signed in to change notification settings - Fork 126
Home
Note: The main HPCG website is http://hpcg-benchmark.org.
Announcement: HPCG 3.0 is released. It can be downloaded from the HPCG website or by checking out the HPCG-release-3-0-0
branch from the repository.
The HPCG (High Performance Conjugate Gradients) Benchmark project is an effort to create a complementary metric for ranking high performance computing systems alongside the High Performance LINPACK (HPL) benchmark, that is currently used by the TOP500 benchmark. The computational and data access patterns of HPL represent only a small portion of HPC applications. HPCG is designed to exercise computational and data access patterns that more closely match a different and broad set of important applications, and to give incentive to computer system designers to invest in capabilities that will have impact on the collective performance of these applications.
HPCG is a complete, stand-alone code that measures the performance of basic operations in a unified code:
- Sparse matrix-vector multiplication.
- Sparse triangular solve.
- Vector updates.
- Global dot products.
- Local symmetric Gauss-Seidel smoother.
- Driven by multigrid preconditioned conjugate gradient algorithm that exercises the key kernels on a nested set of coarse grids.
The reference implementation of HPCG is written in C++ with MPI and OpenMP support.
Doxygen-generated source documentation is located here.
NOTE: The reference implementation of HPCG should not be used for benchmarking or analysis. Vendor versions of HPCG exist for all major computing platforms. See http://hpcg-benchmark.org for links to these versions.