Back to Search Start Over

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

Authors :
Bagies, Taghreed
Le, Wei
Sheaffer, Jeremy
Jannesari, Ali
Source :
Journal of Supercomputing. Nov2023, Vol. 79 Issue 16, p18340-18374. 35p.
Publication Year :
2023

Abstract

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. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
09208542
Volume :
79
Issue :
16
Database :
Academic Search Index
Journal :
Journal of Supercomputing
Publication Type :
Academic Journal
Accession number :
171991436
Full Text :
https://doi.org/10.1007/s11227-023-05375-0