DocumentCode
3663928
Title
Flexible software profiling of GPU architectures
Author
Mark Stephenson;Siva Kumar Sastry Hari;Yunsup Lee;Eiman Ebrahimi;Daniel R. Johnson;David Nellans;Mike O´Connor;Stephen W. Keckler
Author_Institution
NVIDIA, USA
fYear
2015
fDate
6/1/2015 12:00:00 AM
Firstpage
185
Lastpage
197
Abstract
To aid application characterization and architecture design space exploration, researchers and engineers have developed a wide range of tools for CPUs, including simulators, profilers, and binary instrumentation tools. With the advent of GPU computing, GPU manufacturers have developed similar tools leveraging hardware profiling and debugging hooks. To date, these tools are largely limited by the fixed menu of options provided by the tool developer and do not offer the user the flexibility to observe or act on events not in the menu. This paper presents SASSI (NVIDIA assembly code “SASS” Instrumentor), a low-level assembly-language instrumentation tool for GPUs. Like CPU binary instrumentation tools, SASSI allows a user to specify instructions at which to inject user-provided instrumentation code. These facilities allow strategic placement of counters and code into GPU assembly code to collect user-directed, fine-grained statistics at hardware speeds. SASSI instrumentation is inherently parallel, leveraging the concurrency of the underlying hardware. In addition to the details of SASSI, this paper provides four case studies that show how SASSI can be used to characterize applications and explore the architecture design space along the dimensions of instruction control flow, memory systems, value similarity, and resilience.
Keywords
"Instruments","Instruction sets","Graphics processing units","Computer architecture","Registers"
Publisher
ieee
Conference_Titel
Computer Architecture (ISCA), 2015 ACM/IEEE 42nd Annual International Symposium on
Type
conf
DOI
10.1145/2749469.2750375
Filename
7284065
Link To Document