HPL and HPCG

This repository contains a walkthrough on the High-Performance Linpack (HPL) and High-Performance Conjugate Gradient (HPCG) benchmarks.

Prerequisites

  • Access to a compute resource running Linux
  • Command-line utilities: screen, git
  • Compiler for C/C++:
    • [Debian/Ubuntu/Mint] apt-get install build-essential
    • [CentOS/RHEL] yum install gcc gcc-c++ make

Schedule

Setup Download files required for the lesson
00:00 1. Introduction Why are HPL and HPCG used as benchmarks?
What is a linear solve used for?
00:10 2. Computational Kernels What are memory and compute-bound kernels?
00:50 3. BLAS What blas should I link with?
How can I get all these libraries installed and working together?
What are the limitations of blas and lapack?
01:20 4. HPL How do dense matrix algorithms divide work using MPI?
What are the key factors affecting their performance?
Why is peak performance a reasonable target for HPL?
01:50 5. HPCG How do sparse matrix algorithms divide work using MPI?
What are the key factors affecting their performance?
Why is peak network bandwidth a reasonable target for HPCG?
02:08 6. Summary How can I demonstrate my awesome cluster configuration?
02:22 7. Using GPUs What modifications to the benchmarks are required to utilize GPUs?
02:49 8. Using Infiniband How does infiniband hardware differ from ethernet?
02:59 9. Scripting OpenStack
03:24 Finish

The actual schedule may vary slightly depending on the topics and exercises chosen by the instructor.