Characterization and Transformation of Unstructured Control Flow in GPU Applications

Characterization and Transformation of Unstructured Control Flow in GPU Applications

Haicheng Wu, Gregory Diamos, Si Li, and Sudhakar Yalamanchili. “Characterization and Transformation of Unstructured Control Flow in GPU Applications.” First International Workshop on Characterizing Applications for Heterogeneous Exascale Systems (CACHES), held with ICS’2011. June 2011.

Abstract

Hardware and compiler techniques for mapping data-parallel programs with divergent control flow to SIMD architectures have recently enabled the emergence of new GPGPU programming models such as CUDA and OpenCL. Although this technology is widely used, commodity GPUs use different schemes to implement it, and the performance limitations of these different schemes under real workloads are not well understood.This study identifies important classes of program control flows, and characterize their presence in real workloads. It is shown that most existing techniques handle structured control flow efficiently, some are incapable of executing unstructured control flow directly, and none handles unstructured control flow efficiently. A suggestion to reduce the impact of this problem is provided.

An unstructured-to-structured control flow transformation is implemented and its performance impact on a large class of GPU applications is assessed. The results quantify the importance of improving support for programs with unstructured control flow on GPUs. The transformation can also be used as a JIT compiler pass to execute programs with unstructured control flow on the GPU devices that do not support unstructured control flow. This is an important capability for execution portability of applications using GPU accelerators.

Download

Characterization and Transformation of Unstructured Control Flow in GPU Applications [PDF]

Citation

@inproceedings{wu,
author = {Haicheng Wu and Gregory Diamos and Si Li and Sudhakar Yalamanchili},
title = {Characterization and Transformation of Unstructured Control Flow in GPU Applications},
booktitle = {First International Workshop on Characterizing Applications for Heterogeneous Exascale Systems},
series = {CACHES’11},
year = {2011},
}