Practical examples of GPU computing optimization principles
Hasselt University – tUL – IBBT, Expertise Centre for Digital Media, Wetenschapspark 2, BE-3590 Diepenbeek, Belgium
Signal Processing and Multimedia Applications (SIGMAP), Proceedings of the 2010 International Conference on
@inproceedings{goorts2010practical,
author={Goorts, Patrik and Rogmans, Sammy and Eynde, Steven Vanden and Bekaert, Philippe},
title={Practical Examples of GPU Computing Optimization Principles},
booktitle={SIGMAP},
year={2010},
pages={46-49},
crossref={DBLP:conf/sigmap/2010},
bibsource={DBLP,http://dblp.uni-trier.de}
}
In this paper, we provide examples to optimize signal processing or visual computing algorithms written for SIMT-based GPU architectures. These implementations demonstrate the optimizations for CUDA or its successors OpenCL and DirectCompute. We discuss the effect and optimization principles of memory coalescing, bandwidth reduction, processor occupancy, bank conflict reduction, local memory elimination and instruction optimization. The effect of the optimization steps are illustrated by state-of-the-art examples. A comparison with optimized and unoptimized algorithms is provided. A first example discusses the construction of joint histograms using shared memory, where optimizations lead to a significant speedup compared to the original implementation. A second example presents convolution and the acquired results.
April 7, 2011 by hgpu