When building a new supercomputer, the diversity of available hardware components is making it very challenging to make proper design choices and keep the right balance between them. Developing a piece of hardware, that universally fits all general purpose application needs has been proven infeasible and the design choice is usually made based on study and analysis of a workload that the supercomputer center is expected to run on a new machine.
Objective
At ALCF, we are working on a set of benchmarks, that target the majority of perspective pieces of hardware and we collect statistics on how different hardware responds to different workloads. The benchmarks are covering a diverse set of ALCF workloads, starting from the kernels that exercise only one hardware feature at a time (vectorization benchmark, streaming data, staging memory, caching hierarchy), to the mini-applications that contain a simplified version of a realistic workload, to the full applications that are running on ALCF production resource.
We will be using the diversity of JLSE hardware resources to improve our knowledge database on available hardware features and see their responses on the ALCF workloads. We plan to use this knowledge in developing the lessons learned and good programming practices for utilizing these features in the real world on ALCF production resources.