Input-Aware Auto-Tuning of Compute-Bound HPC Kernels
Philippe Tillet, David Cox

TL;DR
This paper introduces ISAAC, an input-aware auto-tuning framework for HPC kernels like matrix multiplication and convolutions, achieving significant performance improvements over existing libraries by customizing kernels based on input characteristics.
Contribution
The paper presents a novel input-aware auto-tuning framework that optimizes compute-bound HPC kernels using predictive modeling, outperforming standard libraries on NVIDIA architectures.
Findings
Up to 3x performance gains over cuBLAS and cuDNN
Effective auto-tuning within a few hours
Applicable to NVIDIA Maxwell and Pascal architectures
Abstract
Efficient implementations of HPC applications for parallel architectures generally rely on external software packages (e.g., BLAS, LAPACK, CUDNN). While these libraries provide highly optimized routines for certain characteristics of inputs (e.g., square matrices), they generally do not retain optimal performance across the wide range of problems encountered in practice. In this paper, we present an input-aware auto-tuning framework for matrix multiplications and convolutions, ISAAC, which uses predictive modeling techniques to drive highly parameterized PTX code templates towards not only hardware-, but also application-specific kernels. Numerical experiments on the NVIDIA Maxwell and Pascal architectures show up to 3x performance gains over both cuBLAS and cuDNN after only a few hours of auto-tuning.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
