CL-Vis: Visualization Platform for Understanding and Checking the OpenCL Programs

Authors

  • SeongKi Kim Division of Computer Science Engineering, Keimyung University, 1095, Dalgubeol-daero, Dalseo-Gu, Daegu, Republic of Korea
  • HyukSoo Han Department of Computer Science, Sangmyung University, 20, Hongjimun 2-gil, Jongno-Gu, Seoul, Republic of Korea

DOI:

https://doi.org/10.31577/cai_2019_1_173

Keywords:

Visualization, GPGPU, debug, data race, barrier divergence, infinite loop

Abstract

Due to GPU's improved hardware performance, many researchers have tried to utilize the GPU for computer vision, image processing, cryptography, and artificial intelligence. As results, the GPU could successfully speed up algorithms from tens to hundreds of times in many cases. However, GPU programming is still known to be difficult because of its different characteristics from the traditional CPU programming. Also, it is hard to find the root causes of software failures because the failures are irreproducible in many cases. Our goal is to simplify the process of verifying intended actions when debugging GPGPU programs. To achieve this goal, we use the visualization method of executed codes because it can increase the human's understanding through seeing and analyzing the real actions by each thread. We developed a platform that can visualize the running OpenCL codes and algorithms that can identify data race, barrier divergence, and infinite loop in the GPU. To the best of our knowledge, this is the first study on the visualizations of OpenCL operations and detection of infinite loops in the programs. We also suggest an algorithm for detecting data race with GPU-specific lock-step execution and barrier function.

Downloads

Download data is not yet available.

Downloads

Published

2019-04-26

How to Cite

Kim, S., & Han, H. (2019). CL-Vis: Visualization Platform for Understanding and Checking the OpenCL Programs. Computing and Informatics, 38(1), 173–196. https://doi.org/10.31577/cai_2019_1_173