Mitigating Execution Divergence in GPGPU Computing through Dynamic Data Remapping
This study investigates the reduction of execution divergence on graphics processing units (GPUs) through modification of input data arrangement. Execution divergence, which occurs when threads within a GPU warp take different execution paths, can significantly degrade performance. We examine the possibility of mitigating this performance loss by altering the processing order of input data on the GPU. A simple case study of changing letter case in text strings is used to demonstrate the effects of divergence and evaluate optimization techniques. Experiments are conducted using the Vulkan API to implement compute shaders with varying levels of forced divergence. Results show that rearranging input data or modifying execution order can substantially improve performance in divergent scenarios, in some cases approaching the speed of non-divergent code. Additionally, we observe that even for non-divergent algorithms, data remapping techniques can provide modest performance gains. The findings suggest that input data arrangement and execution ordering are important considerations for optimizing GPU compute performance, particularly for algorithms prone to divergence.
Authors
- Robert A. Kłopotek (ORCID: https://orcid.org/0000-0001-9783-4914)
- Piotr Plebański
- Anna Kelm
Institutions
- Institute of Computer Science (PL)
Publication Details
- Published
- 2024-11-13
- DOI
- https://doi.org/10.1109/informatics62280.2024.10900832
- Citations
- 1
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.49