Efficient Instrumentation of GPGPU Applications Using Information Flow Analysis and Symbolic Execution

  • Authors:
  • Naila Farooqui;Karsten Schwan;Sudhakar Yalamanchili

  • Affiliations:
  • College of Computing, School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA;College of Computing, School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA;College of Computing, School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA

  • Venue:
  • Proceedings of Workshop on General Purpose Processing Using GPUs
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dynamic instrumentation of GPGPU binaries makes possible real-time introspection methods for performance debugging, correctness checks, workload characterization, and runtime optimization. Such instrumentation involves inserting code at the instruction level of an application, while the application is running, thereby able to accurately profile data-dependent application behavior. Runtime overheads seen from instrumentation, however, can obviate its utility. This paper shows how a combination of information flow analysis and symbolic execution can be used to alleviate these overheads. The methods and their effectiveness are demonstrated for a variety of GPGPU codes written in OpenCL that run on AMD GPU target backends. Kernels that can be analyzed entirely via symbolic execution need not be instrumented, thus eliminating kernel runtime overheads altogether. For the remaining GPU kernels, our results show 5-38% improvements in kernel runtime overheads.