Capannini G., Silvestri F. : Baraglia R.
Stream programming Management Science and Operations Research Computer Science Applications Graphical processor unit Library and Information Sciences Algorithms performance sorting Media Technology Information Systems Bitonic sorting network
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, quick-sort and radix-sort) 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 quick-sort and slightly slower than radix, yet being an in-place solution it consumes less memory than both algorithms.
Source: Information processing & management 48 (2012): 903–917. doi:10.1016/j.ipm.2010.11.010
Publisher: Pergamon,, New York , Regno Unito
@article{oai:it.cnr:prodotti:199631, title = {Sorting on GPUs for large scale datasets: a thorough comparison}, author = {Capannini G. and Silvestri F. : Baraglia R.}, publisher = {Pergamon,, New York , Regno Unito}, doi = {10.1016/j.ipm.2010.11.010}, journal = {Information processing \& management}, volume = {48}, pages = {903–917}, year = {2012} }