Spatial Partitioning Strategies for Memory-Efficient Ray Tracing of Particles

3D particle data is relevant for a wide range of scientific domains, from molecular dynamics to astrophysics. Simulations in these domains can produce datasets containing millions or billions of particles and rendering needs to be in high quality and interactive to support the scientists in exploring and understanding the structure of their data. One general baseline approach is to represent particles as spheres and employ ray tracing as a rendering technique. However, ray tracing requires the data to be organized in acceleration data structures like bounding volume hierarchies (BVH) to achieve interactive frame rates. Modern GPUs provide hardware acceleration for traversing such data structures but are more limited in memory than CPUs. In this paper, we evaluate different acceleration data structures for sphere-based datasets, including particle kD trees, with respect to their scalability regarding both memory size and speed, and we analyze how these data structures can benefit from hardware acceleration. We show that a bricking of data results in the most effective BVH, both fast to traverse utilizing hardware acceleration and with a reasonably small memory footprint. Additionally, we present a hybrid acceleration data structure that has negligible memory overhead and still ensures reasonable traversal speed. Based on our results, visualization tools and APIs for the ray tracing can provide overall better performance by adapting to the needs of particle-centric application scenarios.

[1]  Maxim Shevtsov,et al.  Highly Parallel Fast KD‐tree Construction for Interactive Ray Tracing of Dynamic Scenes , 2007, Comput. Graph. Forum.

[2]  Thomas Ertl,et al.  Challenges and Opportunities using Software-defined Visualization in MegaMol , 2017 .

[3]  P. J. Narayanan,et al.  Raytracing Dynamic Scenes on the GPU Using Grids , 2012, IEEE Transactions on Visualization and Computer Graphics.

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

[5]  Claus-Dieter Munz,et al.  Comparison of macro- and microscopic solutions of the Riemann problem I. Supercritical shock tube and expansion into vacuum , 2020, J. Comput. Phys..

[6]  Hanan Samet,et al.  Implementing ray tracing with octrees and neighbor finding , 1989, Comput. Graph..

[7]  Hélio Pedrini,et al.  Bounding volume hierarchy optimization through agglomerative treelet restructuring , 2015, HPG '15.

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

[9]  K Schulten,et al.  VMD: visual molecular dynamics. , 1996, Journal of molecular graphics.

[10]  Stefan Gumhold,et al.  Splatting Illuminated Ellipsoids with Depth Correction , 2003, VMV.

[11]  Arthur Appel,et al.  Some techniques for shading machine renderings of solids , 1968, AFIPS Spring Joint Computing Conference.

[12]  Klaus Schulten,et al.  GPU-accelerated molecular visualization on petascale supercomputing platforms , 2013, UltraVis@SC.

[13]  S. Popov,et al.  Experiences with Streaming Construction of SAH KD-Trees , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

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

[15]  Vlastimil Havran,et al.  Review: Kd‐tree Traversal Algorithms for Ray Tracing , 2011, Comput. Graph. Forum.

[16]  Jacopo Pantaleoni,et al.  HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry , 2010, HPG '10.

[17]  John Amanatides,et al.  A Fast Voxel Traversal Algorithm for Ray Tracing , 1987, Eurographics.

[18]  Jon Louis Bentley,et al.  Multidimensional binary search trees used for associative searching , 1975, CACM.

[19]  Donald P. Greenberg,et al.  Perceiving spatial relationships in computer-generated images , 1992, IEEE Computer Graphics and Applications.

[20]  Turner Whitted,et al.  An improved illumination model for shaded display , 1979, CACM.

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

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

[23]  Valerio Pascucci,et al.  CPU ray tracing large particle data with balanced P-k-d trees , 2015, 2015 IEEE Scientific Visualization Conference (SciVis).

[24]  Hank Childs,et al.  VisIt: An End-User Tool for Visualizing and Analyzing Very Large Data , 2011 .

[25]  Sylvain Lefebvre,et al.  Perfect spatial hashing , 2006, ACM Trans. Graph..

[26]  Rama Karl Hoetzlein,et al.  GVDB: raytracing sparse voxel database structures on the GPU , 2016, High Performance Graphics.

[27]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[28]  Thomas Ertl,et al.  Implicit Sphere Shadow Maps , 2017, 2017 IEEE Pacific Visualization Symposium (PacificVis).

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

[30]  Vlastimil Havran,et al.  Ray Tracing on a GPU with CUDA – Comparative Study of Three Algorithms , 2010 .

[31]  Simon Green,et al.  Particle Simulation using CUDA , 2010 .

[32]  John Salmon,et al.  Automatic Creation of Object Hierarchies for Ray Tracing , 1987, IEEE Computer Graphics and Applications.

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

[34]  Philipp Slusallek,et al.  A parallel algorithm for construction of uniform grids , 2009, High Performance Graphics.

[35]  Daniel Kopta,et al.  Dual streaming for hardware-accelerated ray tracing , 2017, High Performance Graphics.

[36]  Qi Wu,et al.  VisIt-OSPRay: Toward an Exascale Volume Visualization System , 2018, EGPGV@EuroVis.

[37]  Paolo Cignoni,et al.  Ambient Occlusion and Edge Cueing for Enhancing Real Time Molecular Visualization , 2006, IEEE Transactions on Visualization and Computer Graphics.

[38]  Kellogg S. Booth,et al.  Heuristics for ray tracing using space subdivision , 1990, The Visual Computer.

[39]  Simon Stegmaier,et al.  A simple and flexible volume rendering framework for graphics-hardware-based raycasting , 2005, Fourth International Workshop on Volume Graphics, 2005..

[40]  Jadran Vrabec,et al.  Evaporation sampled by stationary molecular dynamics simulation. , 2019, The Journal of chemical physics.

[41]  Hans Hasse,et al.  Molecular model for carbon dioxide optimized to vapor-liquid equilibria. , 2010, The Journal of chemical physics.

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

[43]  Jadran Vrabec,et al.  Fluid phase interface properties of acetone, oxygen, nitrogen and their binary mixtures by molecular simulation. , 2015, Physical Chemistry, Chemical Physics - PCCP.

[44]  Michael Goesele,et al.  Analysis of cache behavior and performance of different BVH memory layouts for tracing incoherent rays , 2013, EGPGV 2013.

[45]  Pat Hanrahan,et al.  Interactive k-d tree GPU raytracing , 2007, SI3D.

[46]  Aaron Knoll,et al.  OSPRay - A CPU Ray Tracing Framework for Scientific Visualization , 2017, IEEE Transactions on Visualization and Computer Graphics.

[47]  I. Wald,et al.  On building fast kd-Trees for Ray Tracing, and on doing that in O(N log N) , 2006, 2006 IEEE Symposium on Interactive Ray Tracing.

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

[49]  Ingo Wald,et al.  Ray tracing animated scenes using coherent grid traversal , 2006, ACM Trans. Graph..

[50]  James H. Clark,et al.  Hierarchical geometric models for visible surface algorithms , 1976, CACM.

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

[52]  Thomas Ertl,et al.  MegaMol—A Prototyping Framework for Particle-Based Visualization , 2015, IEEE Transactions on Visualization and Computer Graphics.

[53]  Philipp Slusallek,et al.  GPU Ray Tracing using Irregular Grids , 2017, Comput. Graph. Forum.

[54]  Philipp Slusallek,et al.  Two‐Level Grids for Ray Tracing on GPUs , 2011, Comput. Graph. Forum.

[55]  Hans-Peter Seidel,et al.  EUROGRAPHICS 2007 / D. Cohen-Or and P. Slavík (Guest Editors) Stackless KD-Tree Traversal for High Performance GPU Ray Tracing , 2022 .