Meta-Programming and Auto-Tuning in the Search for High Performance GPU Code

Michael Vollmer, Bo Joel Svensson, Eric Holk, Ryan Newton
Indiana University
Indiana University, 2015


   title={Meta-Programming and Auto-Tuning in the Search for High Performance GPU Code},

   author={Vollmer, Michael and Svensson, Bo Joel and Holk, Eric and Newton, Ryan},



Download Download (PDF)   View View   Source Source   



Writing high performance GPGPU code is often difficult and time-consuming, potentially requiring laborious manual tuning of low-level details. Despite these challenges, the cost in ignoring GPUs in high performance computing is increasingly large. Auto-tuning is a potential solution to the problem of tedious manual tuning. We present a framework for auto-tuning GPU kernels which are expressed in an embedded DSL, and which expose compile-time parameters for tuning. Our framework allows for kernels to be polymorphic over what search strategy will tune them, and allows search strategies to be implemented in the same metalanguage as the kernel-generation code (Haskell). Further, we show how to use functional programming abstractions to enforce regular (hyper-rectangular) search spaces. We also evaluate several common search strategies on a variety of kernels, and demonstrate that the framework can tune both EDSL and ordinary CUDA code.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: