A Fast and Generic GPU-Based Parallel Reduction Implementation
Universidade Federal de Goias – Instituto de Informatica
arXiv:1710.07358 [cs.DC], (19 Oct 2017)
@article{jradi2017fast,
title={A Fast and Generic GPU-Based Parallel Reduction Implementation},
author={Jradi, Walid and Nascimento, Hugo do and Martins, Wellington},
year={2017},
month={oct},
archivePrefix={"arXiv"},
primaryClass={cs.DC}
}
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.
October 24, 2017 by hgpu