skip to main content
10.1145/2588768.2576782acmotherconferencesArticle/Chapter ViewAbstractPublication PagesgpgpuConference Proceedingsconference-collections
research-article

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

Published: 01 March 2014 Publication History

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.

References

[1]
AMD. AMD APP SDK. AMD, 2.9 edition.
[2]
AMD. CodeXL. AMD, 3.1 edition.
[3]
AMD. AMD Intermediate Language (IL). AMD, 2.4 edition, October 2011.
[4]
A. Ariel, W. W. L. Fung, A. E. Turner, and T. M. Aamodt. Visualizing complex dynamics in many-core accelerator architectures. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 164--174, White Plains, NY, USA, March 2010.
[5]
S. S. Baghsorkhi, M. Delahaye, S. J. Patel, W. D. Gropp, and W.-m. W. Hwu. An adaptive performance modeling tool for gpu architectures. In Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '10, pages 105--114, New York, NY, USA, 2010. ACM.
[6]
A. Bakhoda, G. Yuan, W. W. L. Fung, H. Wong, and T. M. Aamodt. Analyzing cuda workloads using a detailed gpu simulator. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 163--174, Boston, MA, USA, April 2009.
[7]
S. Che, M. Boyer, J. Meng, D. Tarjan, J. Sheaffer, S.-H. Lee, and K. Skadron. Rodinia: A benchmark suite for heterogeneous computing. In Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on, pages 44--54, Oct. 2009.
[8]
S. Collange, D. Defour, and D. Parello. Barra, a modular functional gpu simulator for gpgpu. Technical Report hal-00359342, 2009.
[9]
G. Diamos, A. Kerr, S. Yalamanchili, and N. Clark. Ocelot: a dynamic optimization framework for bulk-synchronous applications in heterogeneous systems. In Proceedings of the 19th international conference on Parallel architectures and compilation techniques, PACT '10, pages 353--364, New York, NY, USA, 2010. ACM.
[10]
R. Dominguez, D. Schaa, and D. Kaeli. Caracal: Dynamic translation of runtime environments for gpus. In Proceedings of the 4th Workshop on General-Purpose Computation on Graphics Processing Units, Newport Beach, CA, USA, March 2011. ACM.
[11]
N. Farooqui, A. Kerr, G. Diamos, S. Yalamanchili, and K. Schwan. A framework for dynamically instrumenting gpu compute applications within gpu ocelot. In Proceedings of the 4th Workshop on General-Purpose Computation on Graphics Processing Units, Newport Beach, CA, USA, March 2011. ACM.
[12]
N. Farooqui, A. Kerr, G. Eisenhauer, K. Schwan, and S. Yalamanchili. Lynx: A dynamic instrumentation system for data-parallel applications on gpgpu architectures. In Performance Analysis of Systems and Software (ISPASS), 2012 IEEE International Symposium on, pages 58 --67, april 2012. http://code.google.com/p/gpulynx/.
[13]
N. Goswami, R. Shankar, M. Joshi, and T. Li. Exploring gpgpu workloads: Characterization methodology, analysis and microarchitecture evaluation implications. In Workload Characterization (IISWC), 2010 IEEE International Symposium on, pages 1--10, 2010.
[14]
D. Grewe, Z. Wang, and M. F. O'Boyle. Portable mapping of data parallel programs to opencl for heterogeneous systems. In CGO '13: Proceedings of the 11th International Symposium on Code Generation and Optimization. ACM, 2013.
[15]
K. O. W. Group. The OpenCL Specification, December 2008.
[16]
K. O. W. Group. HSA Programmer ÃćâĆňâĎćs Reference Manual: Virtual ISA and Programming Model, Compiler Writer ÃćâĆňâĎćs Guide, and Object Format (BRIG), 0.95 edition, May 2013.
[17]
A. Kerr, G. Diamos, and S. Yalamanchili. A characterization and analysis of ptx kernels. Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on, 2009.
[18]
C. Lattner and V. Adve. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the 2004 International Symposium on Code Generation and Optimization (CGO'04), Palo Alto, California, Mar 2004.
[19]
G. Li, P. Li, G. Sawaya, G. Gopalakrishnan, I. Ghosh, and S. P. Rajan. Gklee: Concolic verification and test generation for gpus. In Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP '12, pages 215--224, New York, NY, USA, 2012. ACM.
[20]
J. Newsome. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. 2005.
[21]
NVIDIA. NVIDIA CUDA Compute Unified Device Architecture. NVIDIA Corporation, Santa Clara, California, 2.1 edition, October 2008.
[22]
NVIDIA. NVIDIA Compute Visual Profiler. NVIDIA Corporation, Santa Clara, California, 4.0 edition, May 2011.
[23]
Y. Zhang and J. D. Owens. A quantitative performance analysis model for gpu architectures. In 17th International Conference on High-Performance Computer Architecture (HPCA-17), pages 382--393, San Antonio, TX, USA, February 2011. IEEE Computer Society.

Cited By

View all
  • (2016)A systems perspective on GPU computingProceedings of the 9th Annual Workshop on General Purpose Processing using Graphics Processing Unit10.1145/2884045.2884057(72-81)Online publication date: 12-Mar-2016
  • (2016)Toward high-performance key-value stores through GPU encoding and locality-aware encodingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.04.01596:C(27-37)Online publication date: 1-Oct-2016
  • (2016)High-Performance Storage Support for Scientific Big Data Applications on the CloudResource Management for Big Data Platforms10.1007/978-3-319-44881-7_8(147-170)Online publication date: 28-Oct-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
GPGPU-7: Proceedings of Workshop on General Purpose Processing Using GPUs
March 2014
110 pages
ISBN:9781450327664
DOI:10.1145/2588768
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 March 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CUDA
  2. GPGPU
  3. OpenCL
  4. Rodinia

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

GPGPU-7

Acceptance Rates

GPGPU-7 Paper Acceptance Rate 12 of 27 submissions, 44%;
Overall Acceptance Rate 57 of 129 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)2
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2016)A systems perspective on GPU computingProceedings of the 9th Annual Workshop on General Purpose Processing using Graphics Processing Unit10.1145/2884045.2884057(72-81)Online publication date: 12-Mar-2016
  • (2016)Toward high-performance key-value stores through GPU encoding and locality-aware encodingJournal of Parallel and Distributed Computing10.1016/j.jpdc.2016.04.01596:C(27-37)Online publication date: 1-Oct-2016
  • (2016)High-Performance Storage Support for Scientific Big Data Applications on the CloudResource Management for Big Data Platforms10.1007/978-3-319-44881-7_8(147-170)Online publication date: 28-Oct-2016
  • (2015)GraphReduceProceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis10.1145/2807591.2807655(1-12)Online publication date: 15-Nov-2015
  • (2014)The workshop on diversity in systems research 2013ACM SIGOPS Operating Systems Review10.1145/2626401.262642248:1(103-106)Online publication date: 15-May-2014

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media