Autotuning GPU Kernels via Static and Predictive Analysis
Robert V. Lim, Boyana Norris, Allen D. Malony

TL;DR
This paper introduces a static analysis method for autotuning GPU kernels that predicts near-optimal parameters without runtime experimentation, improving efficiency over empirical methods.
Contribution
It presents a novel static analysis approach for CUDA kernel autotuning that eliminates the need for extensive empirical testing.
Findings
Achieves competitive code variants compared to empirical autotuning.
Reduces the cost and time associated with GPU kernel optimization.
Demonstrates applicability in enabling autotuners like Orio to perform effectively.
Abstract
Optimizing the performance of GPU kernels is challenging for both human programmers and code generators. For example, CUDA programmers must set thread and block parameters for a kernel, but might not have the intuition to make a good choice. Similarly, compilers can generate working code, but may miss tuning opportunities by not targeting GPU models or performing code transformations. Although empirical autotuning addresses some of these challenges, it requires extensive experimentation and search for optimal code variants. This research presents an approach for tuning CUDA kernels based on static analysis that considers fine-grained code structure and the specific GPU architecture features. Notably, our approach does not require any program runs in order to discover near-optimal parameter settings. We demonstrate the applicability of our approach in enabling code autotuners such as…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Neural Network Applications · Advanced Data Storage Technologies
