Authors:
Patrik Goorts
1
;
Sammy Rogmans
2
;
Steven Vanden Eynde
3
and
Philippe Bekaert
1
Affiliations:
1
Hasselt University - tUL - IBBT, Belgium
;
2
Hasselt University - tUL - IBBT and IMEC, Belgium
;
3
Lessius Hogeschool – Campus De Nayer, Belgium
Keyword(s):
CUDA, GPGPU, Optimization principles, Visual computing, Fermi.
Related
Ontology
Subjects/Areas/Topics:
Architecture and Protocols
;
Distributed Multimedia Systems
;
Image and Video Processing, Compression and Segmentation
;
Multimedia
;
Multimedia and Communications
;
Multimedia Signal Processing
;
Multimedia Systems and Applications
;
Multimodal Signal Processing
;
Performance Measurement and Evaluation, Qos.
;
Telecommunications
Abstract:
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.