Implementation of Sorting Algorithms with CUDA: An Empirical Study
Abstract
Sorting algorithms have been studied for more than 3 decades now. The aim of this paper is to implement some of the sorting algorithms using the CUDA language in a GPU environment provided by the Nvidia graphics cards. This empirical study is done for comparing the performance of the sorting algorithms in a run-time environment provided by the GPUs and the CUDA programming language. This study considers the implementation of bubble sort, insertion sort, quicksort, selection sort and shell sort algorithms. It is shown that there is a significant amount of speed-up in using CUDA and the Nvidia architecture instead of a sequential code running on standard architectures.
Keywords
References
- S. Cook, CUDA Programming: A Developer's Guide to Parallel Computing with GPUs (Applications of Gpu Computing), 1st. ed., Morgan Kaufmann, 2012
- P. Pacheco, Introduction to Parallel Programming, Morgan Kaufmann, 2012
- N. Wildt, The CUDA Handbook, A Comprehensive Guide to GPU Programming, Pearson Education, 2013
- J. Edosomwan, Sorting Algorithm, LAP Lambert Academic Publishing, 2012
- S. Arora and B. Barak, Computational Complexity: A Modern Approach, 1st. ed., Cambridge University Press, 2009
- M. Dawra and P. Dawra, IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 4, No 3, July 2012
- D. S. Hirschberg, Communications of ACM, 21(8), 1978
- B. Wilkinson and M. Allen, Parallel Programming: Techniques Workstations and Parallel Computers, 2nd. ed., Pearson Education, 2005. Using Networked
Details
Primary Language
English
Subjects
-
Journal Section
-
Publication Date
August 28, 2016
Submission Date
December 4, 2015
Acceptance Date
-
Published in Issue
Year 2016 Volume: 4 Number: 3