Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture
Issue No. 09 - Sept. (2012 vol. 18)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TVCG.2011.277
M. Ernst , Intel Corp., Santa Clara, CA, USA
S. Woop , Intel Visual Comput. Inst., Saarbruecken, Germany
I. Wald , Intel Visual Comput. Inst., Saarbruecken, Germany
C. Benthin , Intel Visual Comput. Inst., Saarbruecken, Germany
W. R. Mark , Intel Corp., Santa Clara, CA, USA
Wide-SIMD hardware is power and area efficient, but it is challenging to efficiently map ray tracing algorithms to such hardware especially when the rays are incoherent. The two most commonly used schemes are either packet tracing, or relying on a separate traversal stack for each SIMD lane. Both work great for coherent rays, but suffer when rays are incoherent: The former experiences a dramatic loss of SIMD utilization once rays diverge; the latter requires a large local storage, and generates multiple incoherent streams of memory accesses that present challenges for the memory system. In this paper, we introduce a single-ray tracing scheme for incoherent rays that uses just one traversal stack on 16-wide SIMD hardware. It uses a bounding-volume hierarchy with a branching factor of four as the acceleration structure, exploits four-wide SIMD in each box and primitive intersection test, and uses 16-wide SIMD by always performing four such node or primitive tests in parallel. We then extend this scheme to a hybrid tracing scheme that automatically adapts to varying ray coherence by starting out with a 16-wide packet scheme and switching to the new single-ray scheme as soon as rays diverge. We show that on the Intel Many Integrated Core architecture this hybrid scheme consistently, and over a wide range of scenes and ray distributions, outperforms both packet and single-ray tracing.
ray tracing, multiprocessing systems, parallel architectures, Intel many integrated core architecture, packet-ray tracing, arbitrary ray distributions, Intel MIC architecture, traversal stack, SIMD lane, SIMD utilization, multiple incoherent streams, memory accesses, single-ray tracing scheme, 16-wide SIMD hardware, bounding-volume hierarchy, branching factor, primitive intersection test, hybrid tracing scheme, Kernel, Vectors, Ray tracing, Registers, Memory management, Hardware, SIMD processors., Ray tracing
M. Ernst, S. Woop, I. Wald, C. Benthin and W. R. Mark, "Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture," in IEEE Transactions on Visualization & Computer Graphics, vol. 18, no. , pp. 1438-1448, 2012.