Authors:
Pedro Miguel Moreira
1
;
Luís Paulo Reis
2
and
A. Augusto de Sousa
3
Affiliations:
1
ESTG-IPVC, Instituto Politécnico de Viana do Castelo; DEI/FEUP, Faculdade de Engenharia da Universidade do Porto, Portugal
;
2
DEI/FEUP, Faculdade de Engenharia da Universidade do Porto, LIACC, Laboratório de Inteligência Artificial e Ciência de Computadores, Portugal
;
3
LIACC, Laboratório de Inteligência Artificial e Ciência de Computadores; INESC-Porto, Instituto de Engenharia de Sistemas e Computadores do Porto, Portugal
Keyword(s):
Stream Compaction, Parallel Algorithms, Parallel Processing, Graphics Hardware.
Related
Ontology
Subjects/Areas/Topics:
Computer Vision, Visualization and Computer Graphics
;
Parallel Rendering
;
Real-Time Rendering
;
Rendering
;
Rendering Hardware
Abstract:
Stream Compaction is an important task to perform in the context of data parallel computing, useful for many applications in Computer Graphics as well as for general purpose computation on graphics hardware. Given a data stream containing irrelevant elements, stream compaction outputs a stream comprised by the relevant elements, discarding the rest. The compaction mechanism has the potential to enable savings on further processing, memory storage and communication bandwidth. Traditionally, stream compaction is defined as a monotonic (or stable) operation in the sense that it preserves the relative order of the data. This is not a full requirement for many applications, therefore we distinguish between monotonic and non-monotonic algorithms. The latter motivated us to introduce the Jumping Jack algorithm as a new algorithm for nonmonotonic compaction. In this paper, experimental results are presented and discussed showing that, although simple, the algorithm has interesting properties
that enable it to perform faster than existent state-of-the-art algorithms, in many circumstances.
(More)