GPU-ArraySort: A parallel, in-place algorithm for sorting large number of arrays
Department of Electrical and Computer Engineering
Workshop on High Performance Computing for Big Data, International Conference on Parallel Processing (ICPP), 2016
@article{awan2016gpu,
title={GPU-ArraySort: A parallel, in-place algorithm for sorting large number of arrays},
author={Awan, Muaaz and Saeed, Fahad},
year={2016}
}
Modern day analytics deals with big datasets from diverse fields. For many application the data is in the form of an array which consists of large number of smaller arrays. Existing techniques focus on sorting a single large array and cannot be used for sorting large number of smaller arrays in an efficient manner. Currently no such algorithm is available which can sort such large number of arrays utilizing the massively parallel architecture of GPU devices. In this paper we present a highly scalable parallel algorithm, called GPU-ArraySort, for sorting large number of arrays using a GPU. Our algorithm performs in-place operations and makes minimum use of any temporary run-time memory. Our results indicate that we can sort up to 2 million arrays having 1000 elements each, within few seconds. We compare our results with the unorthodox tagged array sorting technique based on NVIDIAs Thrust library. GPU-ArraySort out-performs the tagged array sorting technique by sorting three times more data in a much smaller time. The developed tool and strategy will be made available.
September 10, 2016 by hgpu