Chapter

Parallel Processing and Applied Mathematics

Volume 6067 of the series Lecture Notes in Computer Science pp 403-410

Fast In-Place Sorting with CUDA Based on Bitonic Sort

  • Hagen PetersAffiliated withResearch Group for Communication Systems, Department of Computer Science, Christian-Albrechts-University Kiel
  • , Ole Schulz-HildebrandtAffiliated withResearch Group for Communication Systems, Department of Computer Science, Christian-Albrechts-University Kiel
  • , Norbert LuttenbergerAffiliated withResearch Group for Communication Systems, Department of Computer Science, Christian-Albrechts-University Kiel

* Final gross prices may vary according to local VAT.

Get Access

Abstract

State of the art graphics processors provide high processing power and furthermore, the high programmability of GPUs offered by frameworks like CUDA increases their usability as high-performance co-processors for general-purpose computing. Sorting is well-investigated in Computer Science in general, but (because of this new field of application for GPUs) there is a demand for high-performance parallel sorting algorithms that fit to the characteristics of modern GPU-architecture.

We present a high-performance in-place implementation of Batcher’s bitonic sorting networks for CUDA-enabled GPUs. We adapted bitonic sort for arbitrary input length and assigned compare/exchange-operations to threads in a way that decreases low-performance global-memory access and thereby greatly increases the performance of the implementation.

Keywords

GPU GPGPU CUDA Parallel Sorting Multicore