  In our study we implemented and compared seven sequential and parallel
sorting algorithms: bitonic sort, multistep bitonic sort, adaptive bitonic
sort, merge sort, quicksort, radix sort and sample sort. Sequential algorithms
were implemented on a central processing unit using C++, whereas parallel
algorithms were implemented on a graphics processing unit using CUDA platform.
We chose these algorithms because to the best of our knowledge their sequential
and parallel implementations were not yet compared all together in the same
execution environment. We improved the above mentioned implementations and
adopted them to be able to sort input sequences of arbitrary length. We
compared algorithms on six different input distributions, which consisted of
32-bit numbers, 32-bit key-value pairs, 64-bit numbers and 64-bit key-value
pairs. In this report we give a short description of seven sorting algorithms
and all the results obtained by our tests.
