InK-Compact: In-Kernel Stream Compaction and Its Application to Multi-Kernel Data Visualization on General-Purpose GPUs

Stream compaction is an important parallel computing primitive that produces a reduced (compacted) output stream consisting of only valid elements from an input stream containing both invalid and valid elements. Computing on this compacted stream rather than the mixed input stream leads to improveme...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Computer graphics forum Ročník 32; číslo 6; s. 178 - 188
Hlavní autoři: Hughes, D. M., Lim, I. S., Jones, M. W., Knoll, A., Spencer, B.
Médium: Journal Article
Jazyk:angličtina
Vydáno: Oxford Blackwell Publishing Ltd 01.09.2013
Témata:
ISSN:0167-7055, 1467-8659
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Stream compaction is an important parallel computing primitive that produces a reduced (compacted) output stream consisting of only valid elements from an input stream containing both invalid and valid elements. Computing on this compacted stream rather than the mixed input stream leads to improvements in performance, load balancing and memory footprint. Stream compaction has numerous applications in a wide range of domains: e.g. deferred shading, isosurface extraction and surface voxelization in computer graphics and visualization. We present a novel In‐Kernel stream compaction method, where compaction is completed before leaving an operating kernel. This contrasts with conventional parallel compaction methods that require leaving the kernel and running a prefix sum kernel followed by a scatter kernel. We apply our compaction methods to ray‐tracing‐based visualization of volumetric data. We demonstrate that the proposed In‐Kernel compaction outperforms the standard out‐of‐kernel Thrust parallel‐scan method for performing stream compaction in this real‐world application. For the data visualization, we also propose a novel multi‐kernel ray‐tracing pipeline for increased thread coherency and show that it outperforms a conventional single‐kernel approach. Stream compaction is an important parallel computing primitive that produces a reduced (compacted) output stream consisting of only valid elements from an input stream containing both invalid and valid elements. Computing on this compacted stream rather than the mixed input stream leads to improvements in performance, load balancing, and memory footprint. Stream compaction has numerous applications in a wide range of domains: e.g., deferred shading, isosurface extraction, and surface voxelization in computer graphics and visualization. We present a novel In‐Kernel stream compaction method, where compaction is completed before leaving an operating kernel. This contrasts with conventional parallel compaction methods that require leaving the kernel and running a prefix sum kernel followed by a scatter kernel.
Bibliografie:ArticleID:CGF12083
istex:FDD00A1CD3FA719891FCAD744A9869367377B546
Higher Education Funding Council for Wales (HEFCW)
ark:/67375/WNG-HZ4JVX0D-9
RIVIC (the Wales Research Institute of Visual Computing)
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ObjectType-Article-2
content type line 23
ISSN:0167-7055
1467-8659
DOI:10.1111/cgf.12083