arXiv · 1710.07358
A Fast and Generic GPU-Based Parallel Reduction Implementation
Abstract
Reduction operations are extensively employed in many computational problems. A reduction consists of, given a finite set of numeric elements, combining into a single value all elements in that set, using for this a combiner function. A parallel reduction, in turn, is the reduction operation concurrently performed when multiple execution units are available. The current work reports an investigation on this subject and depicts a GPU-based parallel approach for it. Employing techniques like Loop Unrolling, Persistent Threads and Algebraic Expressions to avoid thread divergence, the presented approach was able to achieve a 2.8x speedup when compared to the work of Catanzaro, using a generic, simple and easily portable code. Experiments conducted to evaluate the approach show that the strategy is able to perform efficiently in AMD and NVidia's hardware, as well as in OpenCL and CUDA.
Explore related subjects
Keep this discovery
Walid Jradi, Hugo do Nascimento, Wellington Martins. 2017-10-19. A Fast and Generic GPU-Based Parallel Reduction Implementation. https://arxiv.org/abs/1710.07358
Cite the original work for its findings. Save a collection to share your selection of sources.