paper

Sorting and Permuting without Bank Conflicts on GPUs

arXiv:1507.01391

Abstract

In this paper, we look at the complexity of designing algorithms without any bank conflicts in the shared memory of Graphical Processing Units (GPUs). Given input of size , processors and memory banks, we study three fundamental problems: sorting, permuting and -way partitioning (defined as sorting an input containing exactly copies of every integer in ). We solve sorting in optimal time. When , we solve the partitioning problem optimally in time. We also present a general solution for the partitioning problem which takes time. Finally, we solve the permutation problem using a randomized algorithm in time. Our results show evidence that when working with banked memory architectures, there is a separation between these problems and the permutation and partitioning problems are not as easy as simple parallel scanning.

12 pages, 2 figures, 23rd European Symposium on Algorithms (ESA)