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.
Keywords
Cite this article
@article{cai-4318,
author = {SeongKi Kim and HyukSoo Han},
title = {CL-Vis: Visualization Platform for Understanding and Checking the OpenCL Programs},
journal = {Computing and Informatics},
volume = {38},
number = {1},
pages = {173--196},
year = {2019},
issn = {1335-9150},
doi = {10.4149/cai_2019_1_173}
}
TY - JOUR AU - SeongKi Kim AU - HyukSoo Han TI - CL-Vis: Visualization Platform for Understanding and Checking the OpenCL Programs JO - Computing and Informatics VL - 38 IS - 1 SP - 173 EP - 196 PY - 2019 SN - 1335-9150 DO - 10.4149/cai_2019_1_173 UR - https://doi.org/10.4149/cai_2019_1_173 KW - Visualization KW - GPGPU KW - debug KW - data race KW - barrier divergence KW - infinite loop ER -
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.4149/cai_2019_1_173