HART: A Hybrid Architecture for Ray Tracing Animated Scenes

We present a hybrid architecture, inspired by asynchronous BVH construction [1], for ray tracing animated scenes. Our hybrid architecture utilizes heterogeneous hardware resources: dedicated ray-tracing hardware for BVH updates and ray traversal and a CPU for BVH reconstruction. We also present a traversal scheme using a primitive's axis-aligned bounding box (PrimAABB). This scheme reduces ray-primitive intersection tests by reusing existing BVH traversal units and the primAABB data for tree updates; it enables the use of shallow trees to reduce tree build times, tree sizes, and bus bandwidth requirements. Furthermore, we present a cache scheme that exploits consecutive memory access by reusing data in an L1 cache block. We perform cycle-accurate simulations to verify our architecture, and the simulation results indicate that the proposed architecture can achieve real-time Whitted ray tracing animated scenes at 1,920 × 1,200 resolution. This result comes from our high-performance hardware architecture and minimized resource requirements for tree updates.

[1]  Dinesh Manocha,et al.  Fast BVH Construction on GPUs , 2009, Comput. Graph. Forum.

[2]  Ingo Wald,et al.  Fast, parallel, and asynchronous construction of BVHs for ray tracing animated scenes , 2008, Comput. Graph..

[3]  I. Wald,et al.  On fast Construction of SAH-based Bounding Volume Hierarchies , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[4]  Tack-Don Han,et al.  SGRT: a mobile GPU architecture for real-time ray tracing , 2013, HPG '13.

[5]  Daniel Kopta,et al.  Efficient MIMD architectures for high-performance ray tracing , 2010, 2010 IEEE International Conference on Computer Design.

[6]  Ingo Wald,et al.  Embree: a kernel framework for efficient CPU ray tracing , 2014, ACM Trans. Graph..

[7]  Kirill Garanzha,et al.  Simpler and faster HLBVH with work queues , 2011, HPG '11.

[8]  Karthik Ramani,et al.  StreamRay: a stream filtering architecture for coherent ray tracing , 2009, ASPLOS.

[9]  Andreas Dietrich,et al.  Spatial splits in bounding volume hierarchies , 2009, High Performance Graphics.

[10]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[11]  Youngsam Shin,et al.  SGRT: a scalable mobile GPU architecture based on ray tracing , 2012, SIGGRAPH Talks.

[12]  Tack-Don Han,et al.  MobiRT: an implementation of OpenGL ES-based CPU-GPU hybrid ray tracer for mobile devices , 2010, SIGGRAPH ASIA.

[13]  Michael Manzke,et al.  A hardware unit for fast SAH-optimised BVH construction , 2013, ACM Trans. Graph..

[14]  Sven Woop,et al.  Ray Tracing with Shared-Plane Bounding Volume Hierarchies , 2011, J. Graphics, GPU, & Game Tools.

[15]  Ingo Wald,et al.  Asynchronous BVH construction for ray tracing dynamic scenes on parallel multi-core architectures , 2007, EGPGV '07.

[16]  Ingo Wald,et al.  Fast Construction of SAH BVHs on the Intel Many Integrated Core (MIC) Architecture , 2012, IEEE Transactions on Visualization and Computer Graphics.

[17]  Timo Aila,et al.  Understanding the efficiency of ray traversal on GPUs , 2009, High Performance Graphics.

[18]  P. Slusallek,et al.  RPU: a programmable ray processing unit for realtime ray tracing , 2005, SIGGRAPH '05.

[19]  Daniel Kopta,et al.  TRaX: A Multicore Hardware Architecture for Real-Time Ray Tracing , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[20]  Ingo Wald,et al.  State of the Art in Ray Tracing Animated Scenes , 2009, Comput. Graph. Forum.

[21]  Guy E. Blelloch,et al.  Efficient BVH construction via approximate agglomerative clustering , 2013, HPG '13.

[22]  Dinesh Manocha,et al.  High-order diffraction and diffuse reflections for interactive sound propagation in large environments , 2014, ACM Trans. Graph..

[23]  Sung-Bong Yang,et al.  gkDtree: A group-based parallel update kd-tree for interactive ray tracing , 2013, J. Syst. Archit..

[24]  Timo Aila,et al.  Fast parallel construction of high-quality bounding volume hierarchies , 2013, HPG '13.

[25]  Tero Karras,et al.  Maximizing parallelism in the construction of BVHs, octrees, and k-d trees , 2012, EGGH-HPG'12.

[26]  S.G. Parker,et al.  Design for Parallel Interactive Ray Tracing Systems , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[27]  Ingo Wald,et al.  Realtime ray tracing and interactive global illumination , 2004, Ausgezeichnete Informatikdissertationen.

[28]  Gu-Yeon Wei,et al.  Process Variation Tolerant 3T1D-Based Cache Architectures , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[29]  Tomas Akenine-Möller,et al.  Fast, Minimum Storage Ray-Triangle Intersection , 1997, J. Graphics, GPU, & Game Tools.

[30]  Henry Wong,et al.  Analyzing CUDA workloads using a detailed GPU simulator , 2009, 2009 IEEE International Symposium on Performance Analysis of Systems and Software.

[31]  Ingo Wald,et al.  Ray tracing deformable scenes using dynamic bounding volume hierarchies , 2007, TOGS.

[32]  Philipp Slusallek,et al.  Distributed interactive ray tracing of dynamic scenes , 2003, IEEE Symposium on Parallel and Large-Data Visualization and Graphics, 2003. PVG 2003..

[33]  Tero Karras,et al.  Architecture considerations for tracing incoherent rays , 2010, HPG '10.

[34]  Tack-Don Han,et al.  Ray-Box Culling for Tree Structures , 2013, J. Inf. Sci. Eng..

[35]  David A. Patterson,et al.  Computer Organization And Design: The Hardware/Software Interface , 1993 .

[36]  Dinesh Manocha,et al.  RayCore , 2014, ACM Trans. Graph..

[37]  Norman P. Jouppi,et al.  Optimizing NUCA Organizations and Wiring Alternatives for Large Caches with CACTI 6.0 , 2007, 40th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 2007).

[38]  Tack-Don Han,et al.  T&I engine: traversal and intersection engine for hardware accelerated ray tracing , 2011, SA '11.

[39]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH Asia '08.

[40]  Dinesh Manocha,et al.  SATO: Surface Area Traversal Order for Shadow Ray Tracing , 2014, Comput. Graph. Forum.

[41]  Dinesh Manocha,et al.  gProximity: Hierarchical GPU‐based Operations for Collision and Distance Queries , 2010, Comput. Graph. Forum.

[42]  Dinesh Manocha,et al.  Ray tracing dynamic scenes using selective restructuring , 2007, SIGGRAPH '07.

[43]  D. Manocha,et al.  RT-DEFORM: Interactive Ray Tracing of Dynamic Scenes using BVHs , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[44]  Tomas Akenine-Möller,et al.  Fast, Minimum Storage Ray-Triangle Intersection , 1997, J. Graphics, GPU, & Game Tools.

[45]  Alexander Reshetov,et al.  Faster Ray Packets - Triangle Intersection through Vertex Culling , 2007, 2007 IEEE Symposium on Interactive Ray Tracing.

[46]  Tack-Don Han,et al.  Asynchronous BVH reconstruction on CPU-GPU hybrid architecture , 2014, SIGGRAPH '14.

[47]  John D. Owens,et al.  Out‐of‐core Data Management for Path Tracing on Hybrid Resources , 2009, Comput. Graph. Forum.

[48]  Bobby Bodenheimer,et al.  Synthesis and evaluation of linear motion transitions , 2008, TOGS.

[49]  Daniel Kopta,et al.  Fast, effective BVH updates for animated scenes , 2012, I3D '12.

[50]  John M. Snyder,et al.  Ray tracing complex models containing surface tessellations , 1987, SIGGRAPH.

[51]  Pierre Poulin,et al.  Combinatorial Bidirectional Path‐Tracing for Efficient Hybrid CPU/GPU Rendering , 2011, Comput. Graph. Forum.

[52]  Sanjay J. Patel,et al.  Tradeoffs in designing accelerator architectures for visual computing , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[53]  Jacco Bikker,et al.  The Brigade Renderer: A Path Tracer for Real-Time Games , 2013, Int. J. Comput. Games Technol..

[54]  K. Joy,et al.  A hybrid CPU-GPU Implementation for Interactive Ray-Tracing of Dynamic Scenes , 2008 .

[55]  Philipp Slusallek,et al.  B-KD trees for hardware accelerated ray tracing of dynamic scenes , 2006, GH '06.

[56]  E. Brunvand,et al.  Estimating Performance of a Ray-Tracing ASIC Design , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

[57]  David K. McAllister,et al.  OptiX: a general purpose ray tracing engine , 2010, ACM Trans. Graph..

[58]  Samuli Laine,et al.  Restart trail for stackless BVH traversal , 2010, HPG '10.

[59]  Philipp Slusallek,et al.  Realtime ray tracing of dynamic scenes on an FPGA chip , 2004, Graphics Hardware.