Sorting on GPUs for large scale datasets: A thorough comparison
Information Science and Technology Inst., via G. Moruzzi 1, 56100 Pisa, Italy
Information Processing & Management, 2011
@article{capannini2011sorting,
title={Sorting on GPUs for large scale datasets: A thorough comparison},
author={Capannini, G. and Silvestri, F. and Baraglia, R.},
journal={Information Processing & Management},
year={2011},
publisher={Elsevier}
}
Although sort has been extensively studied in many research works, it still remains a challenge in particular if we consider the implications of novel processor technologies such as manycores (i.e. GPUs, Cell/BE, multicore, etc.). In this paper, we compare different algorithms for sorting integers on stream multiprocessors and we discuss their viability on large datasets (such as those managed by search engines). In order to fully exploit the potentiality of the underlying architecture, we designed an optimized version of sorting network in the K-model, a novel computational model designed to consider all the important features of many-core architectures. According to K-model, our bitonic sorting network mapping improves the three main aspects of many-core architectures, i.e. the processors exploitation, and the on-chip/off-chip memory bandwidth utilization. Furthermore we are able to attain a space complexity of O(1). We experimentally compare our solution with state-of-the-art ones (namely, Quicksort and Radixsort) on GPUs. We also compute the complexity in the K-model for such algorithms. The conducted evaluation highlight that our bitonic sorting network is faster than Quicksort and slightly slower than radix, yet being an in-place solution it consumes less memory than both algorithms.
December 24, 2011 by hgpu