Publications

Towards Interactive Visual Exploration of Parallel Programs using a Domain-Specific Language

T. Klein, S. Bruckner, M. E. Gröller, M. Hadwiger, and P. Rautek

Abstract

The use of GPUs and the massively parallel computing paradigm have become wide-spread. We describe a framework for the interactive visualization and visual analysis of the run-time behavior of massively parallel programs, especially OpenCL kernels. This facilitates understanding a program's function and structure, finding the causes of possible slowdowns, locating program bugs, and interactively exploring and visually comparing different code variants in order to improve performance and correctness. Our approach enables very specific, user-centered analysis, both in terms of the recording of the run-time behavior and the visualization itself. Instead of having to manually write instrumented code to record data, simple code annotations tell the source-to-source compiler which code instrumentation to generate automatically. The visualization part of our framework then enables the interactive analysis of kernel run-time behavior in a way that can be very specific to a particular problem or optimization goal, such as analyzing the causes of memory bank conflicts or understanding an entire parallel algorithm.

T. Klein, S. Bruckner, M. E. Gröller, M. Hadwiger, and P. Rautek, "Towards Interactive Visual Exploration of Parallel Programs using a Domain-Specific Language," in Proceedings of the International Workshop on OpenCL 2016, 2016. doi:10.1145/2909437.2909459
[BibTeX]

The use of GPUs and the massively parallel computing paradigm have become wide-spread. We describe a framework for the interactive visualization and visual analysis of the run-time behavior of massively parallel programs, especially OpenCL kernels. This facilitates understanding a program's function and structure, finding the causes of possible slowdowns, locating program bugs, and interactively exploring and visually comparing different code variants in order to improve performance and correctness. Our approach enables very specific, user-centered analysis, both in terms of the recording of the run-time behavior and the visualization itself. Instead of having to manually write instrumented code to record data, simple code annotations tell the source-to-source compiler which code instrumentation to generate automatically. The visualization part of our framework then enables the interactive analysis of kernel run-time behavior in a way that can be very specific to a particular problem or optimization goal, such as analyzing the causes of memory bank conflicts or understanding an entire parallel algorithm.
@INPROCEEDINGS {Klein-2016-TIV,
author = "Tobias Klein and Stefan Bruckner and Meister Eduard Gr{\"o}ller and Markus Hadwiger and Peter Rautek",
title = "Towards Interactive Visual Exploration of Parallel Programs using a Domain-Specific Language",
booktitle = "Proceedings of the International Workshop on OpenCL 2016",
year = "2016",
month = "apr",
abstract = "The use of GPUs and the massively parallel computing paradigm have  become wide-spread. We describe a framework for the interactive visualization  and visual analysis of the run-time behavior of massively parallel  programs, especially OpenCL kernels. This facilitates understanding  a program's function and structure, finding the causes of possible  slowdowns, locating program bugs, and interactively exploring and  visually comparing different code variants in order to improve performance  and correctness. Our approach enables very specific, user-centered  analysis, both in terms of the recording of the run-time behavior  and the visualization itself. Instead of having to manually write  instrumented code to record data, simple code annotations tell the  source-to-source compiler which code instrumentation to generate  automatically. The visualization part of our framework then enables  the interactive analysis of kernel run-time behavior in a way that  can be very specific to a particular problem or optimization goal,  such as analyzing the causes of memory bank conflicts or understanding  an entire parallel algorithm.",
pdf = "pdfs/Klein-2016-TIV.pdf",
images = "images/Klein-2016-TIV.jpg",
thumbnails = "images/Klein-2016-TIV.png",
doi = "10.1145/2909437.2909459",
event = "IWOCL 2016",
extra = "pdfs/Klein-2016-TIV-Poster.pdf",
keywords = "domain specific languages, GPU programming, visual exploration",
location = "Vienna, Austria",
owner = "bruckner"
}
projectidprojectid

Media

Downloads

Full paper [PDF]