Skip to main content

The Parallel Research Kernels, a Tool for Parallel Systems Investigations - Part I

Speaker: Rob Van Der Wijngaart, Intel Corporation

Presentation

Seminar Slide Deck (PDF-10MB)

Abstract

The Parallel Research Kernels (PRK) are a suite of simple, parameterized workloads that can be used to assess various aspects of parallel computer systems, ranging from compilers to common runtimes like MPI and OpenMP, as well as less common runtimes like UPC, and SHMEM, and even more esoteric runtimes like Charm++, Grappa, Legion, OCR, HPX, and Fine-Grain MPI. Like the well-known and highly successful NAS Parallel Benchmarks (NPB), the PRK are defined via paper and pencil specifications, come with reference implementations, and contain built-in verification tests. Unlike the NPB, they are arbitrarily scalable, contain parameters that allow comparisons of various algorithmic choices, come with a plethora of different implementations, and are purposely defined to be meaningful to scientists in any computational discipline, not just computational fluid dynamics.

This presentation will give an overview of the philosophy behind the PRK, introduce the individual kernels, and show usage models and performance results for several of the most important kernels. We will also spend some time on the implications of the requirement of verification tests in the context of arbitrarily scalable workloads.

Biography

Rob Van Der Wijngaart spent 12 years at NASA Ames Research Center, mostly in the NASA Advanced Supercomputing (NAS) Division, where he was instrumental in the implementation of the MPI versions of the NAS Parallel Benchmarks, co-created the NAS Grid Benchmarks and the BT-IO Benchmark, and designed the NAS Parallel Benchmarks Multi-Zone versions. While there, he also designed and implemented Charon, a library supporting incremental porting of serial applications to distributed environments. After his stint at NASA, he joined Intel, where he has spent the last decade on various research projects, all related to parallel high performance computing. Among others, he developed applications and runtime libraries for some of Intel’s many-core research processors, including the 80-core Polaris research processor and the 48-core Single-chip Cloud Computer. Most recently, he has focused on studying advanced runtimes enabling exascale computing.