Enabling technologies and software for scientific computing
The Innovative Computing Laboratory (ICL) aspires to be a world leader in enabling technologies and software for scientific computing. Our vision is to provide high performance tools to tackle science’s most challenging problems and to play a major role in the development of standards for scientific computing in general.
ICL is a research laboratory in the College of Engineering at the University of Tennessee and serves as the cornerstone laboratory of the Center for Information Technology Research (CITR), one of UT’s nine Centers of Excellence.
The High Performance Conjugate Gradients (HPCG) benchmark is designed to measure performance that is representative of modern scientific applications. It does so by exercising the computational and communication patterns that are commonly found in real science and engineering codes, which are often based on sparse iterative solvers. HPCG exhibits the same irregular accesses to memory and fine-grain recursive computations that dominate large-scale scientific workloads used to simulate complex physical phenomena. Intended as a candidate for a new HPC metric, HPCG implements the preconditioned conjugate gradient algorithm with a local symmetric Gauss-Seidel as the preconditioner. Additionally, the essential components of the geometric multigrid method are present in the code as a way to represent execution patterns of modern multigrid solvers.
HPCG 1.0 was released on November 19, 2013, and coincided with the SC13 conference in Denver, Colorado. This initial release code includes both testing and verification of the run, and allows users to supply optimized kernels for computationally intensive portions of the code. The current version, 2.4, was released in June 2014 and includes the multigrid method as well as better accounting for the optimization time and the performance achieved. The community’s reception of the benchmark has been overwhelmingly positive, and the constant feedback feeds the continuous improvement of the code and its scope. Future releases will include additional refinements that allow HPCG to reflect the behavior of explicit methods that involve unassembled matrices.