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

dc.contributor.authorHughes, D. M.en_US
dc.contributor.authorLim, I. S.en_US
dc.contributor.authorJones, M. W.en_US
dc.contributor.authorKnoll, A.en_US
dc.contributor.authorSpencer, B.en_US
dc.contributor.editorHolly Rushmeier and Oliver Deussenen_US
dc.date.accessioned2015-02-28T16:07:16Z
dc.date.available2015-02-28T16:07:16Z
dc.date.issued2013en_US
dc.description.abstractStream 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.en_US
dc.description.number6
dc.description.seriesinformationComputer Graphics Forumen_US
dc.description.volume32
dc.identifier.issn1467-8659en_US
dc.identifier.urihttps://doi.org/10.1111/cgf.12083en_US
dc.publisherThe Eurographics Association and Blackwell Publishing Ltd.en_US
dc.subjectstream compactionen_US
dc.subjectparallel computingen_US
dc.subjectGPUen_US
dc.subjectray‐tracingen_US
dc.subjectisosurfaceen_US
dc.subjectvolume visualizationen_US
dc.subjectI.3.1 [Computer Graphics]en_US
dc.subjectHardware Architecture—Parallel processingen_US
dc.subjectI.3.7 [Computer Graphics]en_US
dc.subjectThree‐Dimensional Graphics and Realism—Raytracingen_US
dc.titleInK‐Compact: In‐Kernel Stream Compaction and Its Application to Multi‐Kernel Data Visualization on General‐Purpose GPUsen_US
Files
Collections