A Novel Sorting Algorithm for Many-core Architectures Based on Adaptive Bitonic Sort
A Novel Sorting Algorithm for Many-core Architectures Based on Adaptive Bitonic Sort
复制标题
一种基于自适应双调排序的多核架构排序算法
DOI:
10.1109/ipdps.2012.30
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
N. Luttenberger
中科院分区:
文献类型:
--
作者:
H. Peters;Ole Schulz;N. Luttenberger
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.