A framework for dynamically instrumenting GPU compute applications within GPU Ocelot
Georgia Institute of Technology, Atlanta, GA
GPGPU-4 Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units, 2011
@inproceedings{farooqui2011framework,
title={A framework for dynamically instrumenting gpu compute applications within gpu ocelot},
author={Farooqui, N. and Kerr, A. and Diamos, G. and Yalamanchili, S. and Schwan, K.},
booktitle={Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units},
pages={9},
year={2011},
organization={ACM}
}
In this paper we present the design and implementation of a dynamic instrumentation infrastructure for PTX programs that procedurally transforms kernels and manages related data structures. We show how performing instrumentation within the GPU Ocelot dynamic compiler infrastructure provides unique capabilities not available to other profiling and instrumentation toolchains for GPU computing. We demonstrate the utility of this instrumentation capability with three example scenarios – (1) performing workload characterization accelerated by a GPU, (2) providing load imbalance information for use by a resource allocator, and (3) providing compute utilization feedback to be used online by a simulated process scheduler that might be found in a hypervisor. Additionally, we measure both (1) the compilation overheads of performing dynamic compilation and (2) the increases in runtimes when executing instrumented kernels. On average, compilation overheads due to instrumentation consisted of 69% of the time needed to parse a kernel module, in the case of the Parboil benchmark suite. Slowdowns for instrumenting each basic block ranged from 1.5x to 5.5x, with the largest slowdowns attributed to kernels with large numbers of short, compute-bound blocks.
August 19, 2011 by hgpu