# A mechanism for balancing accuracy and scope in cross-machine black-box   GPU performance modeling

**Authors:** James D. Stevens, Andreas Kl\"ockner

arXiv: 1904.09538 · 2020-06-22

## TL;DR

This paper introduces a flexible, black-box approach for creating customizable performance models of GPU kernels that balance accuracy, speed, and generalizability across multiple architectures.

## Contribution

It presents a novel method for automatic kernel operation counting, model formulation, and calibration, enabling tailored GPU performance modeling without manual hardware statistics collection.

## Key findings

- Models accurately predict execution times across multiple GPU architectures.
- The approach effectively balances model complexity with evaluation speed.
- Demonstrated on matrix multiplication, DG differentiation, and finite difference kernels.

## Abstract

The ability to model, analyze, and predict execution time of computations is an important building block supporting numerous efforts, such as load balancing, performance optimization, and automated performance tuning for high performance, parallel applications. In today's increasingly heterogeneous computing environment, this task must be accomplished efficiently across multiple architectures, including massively parallel coprocessors like GPUs. To address this challenge, we present an approach for constructing customizable, cross-machine performance models for GPU kernels, including a mechanism to automatically and symbolically gather performance-relevant kernel operation counts, a tool for formulating mathematical models using these counts, and a customizable parameterized collection of benchmark kernels used to calibrate models to GPUs in a black-box fashion. Our approach empowers a user to manage trade-offs between model accuracy, evaluation speed, and generalizability. A user can define a model and customize the calibration process, making it as simple or complex as desired, and as application-targeted or general as desired. To evaluate our approach, we demonstrate both linear and nonlinear models; each example models execution times for multiple variants of a particular computation: two matrix multiplication variants, four Discontinuous Galerkin (DG) differentiation operation variants, and two 2-D five-point finite difference stencil variants. For each variant, we present accuracy results on GPUs from multiple vendors and hardware generations. We view this customizable approach as a response to a central question in GPU performance modeling: how can we model GPU performance in a cost-explanatory fashion while maintaining accuracy, evaluation speed, portability, and ease of use, an attribute we believe precludes manual collection of kernel or hardware statistics.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1904.09538/full.md

## Figures

41 figures with captions in the complete paper: https://tomesphere.com/paper/1904.09538/full.md

## References

48 references — full list in the complete paper: https://tomesphere.com/paper/1904.09538/full.md

---
Source: https://tomesphere.com/paper/1904.09538