Efficient stream compaction on wide SIMD many-core architectures
Paper in proceedings, 2009

Stream compaction is a common parallel primitive used to remove unwanted elements in sparse data. This allows highly parallel algorithms to maintain performance over several processing steps and reduces overall memory usage. For wide SIMD many-core architectures, we present a novel stream compaction algorithm and explore several variations thereof. Our algorithm is designed to maximize concurrent execution, with minimal use of synchronization. Bandwidth and auxiliary storage requirements are reduced significantly, which allows for substantially better performance. We have tested our algorithms using CUDA on a PC with an NVIDIA GeForce GTX280 GPU. On this hardware, our reference implementation provides a 3x speedup over previous published algorithms.

GPGPU

parallel sorting

stream compaction

CUDA

prefix sum

Author

Markus Billeter

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Ola Olsson

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Ulf Assarsson

Chalmers, Computer Science and Engineering (Chalmers), Computer Engineering (Chalmers)

Proceedings of the Conference on High Performance Graphics

Vol. 2009 159-166

Subject Categories

Computer Engineering

ISBN

978-1-60558-603-8

More information

Created

10/7/2017