28357

Reducing branch divergence to speed up parallel execution of unit testing on GPUs

Taghreed Bagies, Wei Le, Jeremy Sheafer, Ali Jannesari
Iowa State University, Ames, IA, USA
The Journal of Supercomputing, 2023

@article{bagies2023reducing,

   title={Reducing branch divergence to speed up parallel execution of unit testing on GPUs},

   author={Bagies, Taghreed and Le, Wei and Sheaffer, Jeremy and Jannesari, Ali},

   journal={The Journal of Supercomputing},

   pages={1–35},

   year={2023},

   publisher={Springer}

}

Download Download (PDF)   View View   Source Source   Source codes Source codes

642

views

Software testing is an essential phase in the software development life cycle. One of the important types of software testing is unit testing and its execution is time-consuming and costly. Using parallelization to speed up the testing execution is beneficial and productive for programmers. To parallelize test execution, researchers can use GPU machines. In GPU applications, multiple threads execute in parallel within a group known as a warp. Branch divergence affects the performance of a warp negatively when some threads run a branch, and the other threads are idle waiting for the first set of threads to finish their execution. In this paper, we propose a novel algorithm to minimize branch divergence when testing an application on a GPU. We arrange test inputs based on the warp size of a GPU machine. Test inputs that have similar control flow paths are grouped within the same warp executing in parallel. Thus, the branch divergence is minimized per warp. We validate and evaluate our algorithm on six benchmarks (57 programs in total). Our approach accelerates the testing execution by up to 3.8x and improves the warp execution efficiency by up to 15x.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: