## Sorting and Permuting without Bank Conflicts on GPUs

MADALGO, Aarhus University, Denmark

arXiv:1507.01391 [cs.DS], (6 Jul 2015)

@article{afshani2015sorting,

title={Sorting and Permuting without Bank Conflicts on GPUs},

author={Afshani, Peyman and Sitchinava, Nodari},

year={2015},

month={jul},

archivePrefix={"arXiv"},

primaryClass={cs.DS}

}

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 $n$, $w$ processors and $w$ memory banks, we study three fundamental problems: sorting, permuting and $w$-way partitioning (defined as sorting an input containing exactly $n/w$ copies of every integer in $[w]$). We solve sorting in optimal $O(frac{n}{w} log n)$ time. When $n ge w^2$, we solve the partitioning problem optimally in $O(n/w)$ time. We also present a general solution for the partitioning problem which takes $O(frac{n}{w} log^3_{n/w} w)$ time. Finally, we solve the permutation problem using a randomized algorithm in $O(frac{n}{w} logloglog_{n/w} n)$ 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.

July 8, 2015 by hgpu

Sorting and Permuting without Bank Conflicts on GPUs,