A Characterization and Analysis of PTX Kernels

A Characterization and Analysis of PTX Kernels

Andrew Kerr, Gregory Diamos, and Sudhakar Yalamanchili. “A Characterization and Analysis of PTX Kernels.” IEEE International Symposium on Workload Characterization (IISWC). October 2009.


General purpose application development for GPUs (GPGPU) has recently gained momentum as a cost-effective approach for accelerating data- and compute-intensive applications. It has been driven by the introduction of C-based programming environments such as NVIDIA’s CUDA, OpenCL, and Intel’s Ct. While significant effort has been focused on developing and evaluating applications and software tools, comparatively little has been devoted to the analysis and characterization of applications to assist future work in compiler optimizations, application re-structuring, and micro-architecture design.This paper proposes a set of metrics for GPU workloads and uses these metrics to analyze the behavior of GPU programs. We report on an analysis of over 50 kernels and applications including the full NVIDIA CUDA SDK and UIUC’s Parboil Benchmark Suite covering control flow, data flow, parallelism, and memory behavior. The analysis was performed using a full function emulator we developed that implements the NVIDIA virtual machine referred to as PTX (Parallel Thread eXecution architecture) – a machine model and low level virtual ISA that is representative of ISAs for data parallel execution. The emulator can execute compiled kernels from the CUDA compiler, currently supports the full PTX 1.4 specification, and has been validated against the full CUDA SDK. The results quantify the importance of optimizations such as those for branch re-convergence, the prevalance of sharing between threads, and highlights opportunities for additional parallelism.


A Characterization and Analysis of PTX Kernels [PDF]


author = {Kerr, Andrew and Diamos, Gregory and Yalamanchili, Sudhakar},
title = {A Characterization and Analysis of PTX Kernels},
booktitle = {Workload Characterization, 2009. IISWC 2009. IEEE International Symposium on},
year = {2009},
month = {oct.},
pages={3 -12},