Title :
A Novel Sorting Algorithm for Many-core Architectures Based on Adaptive Bitonic Sort
Author :
Peters, Hagen ; Schulz-Hildebrandt, Ole ; Luttenberger, Norbert
Author_Institution :
Dept. of Comput. Sci., CAU Kiel, Kiel, Germany
Abstract :
Adaptive bitonic sort is a well known merge-based parallel sorting algorithm. It achieves optimal complexity using a complex tree-like data structure called a bitonic tree. Due to this, using adaptive bitonic sort together with other algorithms usually implies converting bitonic trees to arrays and vice versa. This makes adaptive bitonic sort inappropriate in the context of hybrid sorting algorithms where frequent switches between algorithms are performed. In this article we present a novel optimal sorting algorithm that is based on an approach similar to adaptive bitonic sort. Our approach does not use bitonic trees but uses the input array together with some additional information. Using this approach it is trivial to switch between adaptive bitonic sort and other algorithms. We present an implementation of a hybrid algorithm for GPUs based on bitonic sort and our novel algorithm. This implementation turns out to be the fastest comparison-based sorting algorithm for GPUs found in literature.
Keywords :
computational complexity; graphics processing units; merging; multiprocessing systems; parallel algorithms; parallel architectures; sorting; tree data structures; GPU; adaptive bitonic sort; bitonic tree; comparison-based sorting algorithm; complex tree-like data structure; hybrid sorting algorithms; many-core architecture; merge-based parallel sorting algorithm; optimal complexity; Arrays; Complexity theory; Indexes; Sorting; Vegetation; CUDA; bitonic sort; many-core; parallel; sorting;
Conference_Titel :
Parallel & Distributed Processing Symposium (IPDPS), 2012 IEEE 26th International
Conference_Location :
Shanghai
Print_ISBN :
978-1-4673-0975-2
DOI :
10.1109/IPDPS.2012.30