Efficient Stream Reduction on the GPU
Paper in proceedings, 2007
Stream reduction is the process of removing unwanted
elements from a stream of outputs. It is a key component of many GPGPU algorithms, especially in multi-pass algorithms: the stream reduction is used to remove unwanted elements from the output of a previous pass before sending it as input for the next pass.
In this paper, we present a new efficient algorithm for stream reduction on the GPU. Our algorithm works by splitting the input stream into smaller components of a fixed size, on which we run a standard stream reduction pass. We then concatenate the results of these stream reduction pass with line drawing. This last pass is very efficient because we already know the size of the data.