November 2011
Intermediate to advanced
560 pages
17h 46m
English
GPU Metaprogramming
Nicolas Pinto and David D. Cox
In this chapter, we present a tutorial on ways that metaprogramming techniques — dynamically generating specialized code at runtime and compiling it just-in-time — can be used to greatly accelerate an application. We use filter-bank convolution, a key component of the biologically inspired machine vision systems that form the core of our research program, as a case study to illustrate these techniques. We present an overview of several key themes in template metaprogramming and culminate in a full example of GPU auto-tuning in which an instrumented GPU kernel template is built and the space of all possible instantiations of this ...
Read now
Unlock full access