5649

Reducing branch divergence in GPU programs

Tianyi David Han, Tarek S. Abdelrahman
University of Toronto, Toronto, Ontario, Canada
Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units, GPGPU-4, 2011

@inproceedings{han2011reducing,

   title={Reducing branch divergence in GPU programs},

   author={Han, T.D. and Abdelrahman, T.S.},

   booktitle={Proceedings of the Fourth Workshop on General Purpose Processing on Graphics Processing Units},

   pages={3},

   year={2011},

   organization={ACM}

}

Download Download (PDF)   View View   Source Source   

1167

views

Branch divergence has a significant impact on the performance of GPU programs. We propose two novel software-based optimizations, called iteration delaying and branch distribution that aim to reduce branch divergence. Iteration delaying targets a divergent branch enclosed by a loop within a kernel. It improves performance by executing loop iterations that take the same branch direction and delaying those that take the other direction until later iterations. Branch distribution reduces the length of divergent code by factoring out structurally similar code from the branch paths. We conduct a preliminary evaluation of the two optimizations using both synthetic benchmarks and a highly-optimized real-world application. Our evaluation shows that they improve the performance of the synthetic benchmarks by as much as 30% and 80% respectively, and that of the real-world application by 12% and 16% respectively.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: