GPU-Vote: A Framework for Accelerating Voting Algorithms on GPU

  • Gert-Jan van den Braak
  • Cedric Nugteren
  • Bart Mesman
  • Henk Corporaal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7484)


Voting algorithms, such as histogram and Hough transforms, are frequently used algorithms in various domains, such as statistics and image processing. Algorithms in these domains may be accelerated using GPUs. Implementing voting algorithms efficiently on a GPU however is far from trivial due to irregularities and unpredictable memory accesses. Existing GPU implementations therefore target only specific voting algorithms while we propose in this work a methodology which targets voting algorithms in general.

This methodology is used in gpu-vote, a framework to accelerate current and future voting algorithms on a GPU without significant programming effort. We classify voting algorithms into four categories. We describe a transformation to merge categories which enables gpu-vote to have a single implementation for all voting algorithms. Despite the generality of gpu-vote, being able to handle various voting algorithms, its performance is not compromised. Compared to recently published GPU implementations of the Hough transform and the histogram algorithms, gpu-vote yields a 11% and 38% lower execution time respectively. Additionally, we give an accurate and intuitive performance prediction model for the generalized GPU voting algorithm. Our model can predict the execution time of gpu-vote within an average absolute error of 5%.


Execution Time Thread Block Average Absolute Error Vote Method Streaming Multiprocessor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Podlozhnyuk, V.: Histogram Calculation in CUDA (2007)Google Scholar
  2. 2.
    Shams, R., Kennedy, R.A.: Efficient Histogram Algorithms for NVIDIA CUDA Compatible Devices. In: International Conference on Signal Processing and Communications Systems (2007)Google Scholar
  3. 3.
    Nugteren, C., van den Braak, G.J., Corporaal, H., Mesman, B.: High Performance Predictable Histogramming on GPUs: Exploring and Evaluating Algorithm Trade-offs. GPGPU 4 (2011)Google Scholar
  4. 4.
    Fung, J., Mann, S.: OpenVIDIA: Parallel GPU Computer Vision. In: 13th ACM International Conference on Multimedia (2005)Google Scholar
  5. 5.
    Ujaldón, M., Ruiz, A., Guil, N.: On the computation of the Circle Hough Transform by a GPU rasterizer. Pattern Recognition Letters (2008)Google Scholar
  6. 6.
    TunaCode (Ltd): CUDA Vision and Imaging Library,
  7. 7.
    van den Braak, G.J., Nugteren, C., Mesman, B., Corporaal, H.: Fast Hough Transform on GPUs: Exploration of Algorithm Trade-Offs. In: Blanc-Talon, J., Kleihorst, R., Philips, W., Popescu, D., Scheunders, P. (eds.) ACIVS 2011. LNCS, vol. 6915, pp. 611–622. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Tan, C., Hong, T., Chang, T., Shneier, M.: Color Model-Based Real-Time Learning for Road Following. In: Intelligent Transportation Systems Conference (2006)Google Scholar
  9. 9.
    Maes, F., Collignon, A., Vandermeulen, D., Marchal, G., Suetens, P.: Multimodality Image Registration by Maximization of Mutual Information. IEEE Transactions on Medical Imaging (1997)Google Scholar
  10. 10.
    Scott, D.W.: On Optimal and Data-Based Histograms. Biometrika (1979)Google Scholar
  11. 11.
    Forsberg, J., Larsson, U., Wernersson, A.: Mobile Robot Navigation using the Range-Weighted Hough Transform. IEEE Robotics Automation Magazine (1995)Google Scholar
  12. 12.
    Wang, Y., Shi, M., Wu, T.: A Method of Fast and Robust for Traffic Sign Recognition. In: Fifth International Conference on Image and Graphics (2009)Google Scholar
  13. 13.
    Hough, P.: Method and Means for Recognising Complex Patterns. US Patent No. 3,069,654 (1962)Google Scholar
  14. 14.
    Duda, R.O., Hart, P.E.: Use of the Hough Transformation to Detect Lines and Curves in Pictures. Commun. ACM 15 (1972)Google Scholar
  15. 15.
    NVIDIA Corporation: NVIDIA’s Next Generation CUDA Compute Architecture: Fermi (2009)Google Scholar
  16. 16.
    NVIDIA Corporation: NVIDIA CUDA C Programming Guide - Version 4.0 (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Gert-Jan van den Braak
    • 1
  • Cedric Nugteren
    • 1
  • Bart Mesman
    • 1
  • Henk Corporaal
    • 1
  1. 1.Eindhoven University of TechnologyThe Netherlands

Personalised recommendations