title: Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture.
abstract: 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.
authors.forename: Carsten
authors.initials: C
authors.lastname: Benthin
authors.forename: Ingo
authors.initials: I
authors.lastname: Wald
authors.forename: Sven
authors.initials: S
authors.lastname: Woop
authors.forename: Manfred
authors.initials: M
authors.lastname: Ernst
authors.forename: William R
authors.initials: WR
authors.lastname: Mark