1 / 55

Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs)

Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs). Sung-Eui Yoon Lawrence Livermore National Laboratory Dinesh Manocha Univ. of North Carolina at Chapel Hill. Goal. Compute cache-coherent layouts of bounding volume hierarchies (BVHs) For various geometric applications

Download Presentation

Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs) Sung-Eui Yoon Lawrence Livermore National Laboratory Dinesh Manocha Univ. of North Carolina at Chapel Hill

  2. Goal • Compute cache-coherent layouts of bounding volume hierarchies (BVHs) • For various geometric applications • Handles any kind of BVHs and spatial partitioning hierarchies (e.g., kd-tree)

  3. Bounding Volume Hierarchies (BVHs) • Widely used data structures in: • Ray tracing • Collision detection • Visibility culling Ray tracing Dynamic simulation

  4. Bounding Volumes (BVs) • Axis-aligned bounding boxes (AABBs) • Oriented bounding boxes (OBBs) [Gottschalk et al. 96] • Spheres [Hubbard 93] • Discrete orientation polytopes (k-DOPs) [Klosowski et al. 98] Triangles of a mesh

  5. Layout of BVHs • Nodes (and triangles) of BVHs are stored in arrays • What is a good layout? • How to compute cache-efficient layouts? A 1D Layout of nodes: Layout method B C A B C D E D E

  6. Motivation • Lower growth rate of data access speed 46X Growth rate during 1993 – 2004 20X 1.5X Courtesy: http://www.hcibook.com/e3/online/moores-law/

  7. Memory Hierarchies and Caches Fast memory or cache Slow memory Block transfer Disk CPU 1 sec 10-6 sec 10-4 sec Access time:

  8. Main Contributions • An algorithm computing cache-efficient layouts of BVHs • Probabilistic model • Simple layout construction method • Applicable to spatial partitioning hierarchies

  9. Related Work • Mesh layouts • Layouts of search trees • Layouts of BVHs

  10. Related Work • Mesh layouts • Cache-coherent layouts of meshes and graphs [Yoon et al. 05, Yoon and Lindstrom 06] • Layouts of search trees • Layouts of BVHs Require an input graph that represents access patterns on a BVH

  11. Related Work • Mesh layouts • Layouts of search trees • [Gil and Itai 99, Alstrup et al. 03] • Layouts of BVHs Require a probability function that each node will be accessed

  12. Related Work • Mesh layouts • Layouts of search trees • Layouts of BVHs • Studied in collision detection [Ericson 04] and ray tracing [Havran 97] • Blocking-based layouts [Terdiman 03, van Emde Boas 77]

  13. Outline • Probabilistic model • Layout computation • Results

  14. Outline • Probabilistic model • Layout computation • Results

  15. Traversals of Collision Queries on BVHs • Takes two objects • Two 3D objects for collision detection • One 3D object and one ray for ray tracing BVH2 BVH1

  16. Two Localities • Parent-child locality • Spatial locality

  17. Parent-child Locality B A B A BVH2 BVH1

  18. Spatial Locality D C E C D E BVH2 BVH1

  19. Probabilistic Model • Quantify localities in a uniform way • Measure the probability for localities • Based on geometric relationships between bounding volumes

  20. Probabilistic Model • Pr (n) • Probability that a node, n, will be accessed during runtime traversal • Two major factors • Prob. that p is accessed • Conditional prob. that p is also intersected given g is intersected Intersected b g Accessed and Intersected p n where Xp (or Xg)is a boolean random variable indicating collision between p (or g) and b

  21. Probability Computation • : Conditional prob. that p is also intersected given g is intersected • Do not know any information about b Intersected b g Intersected p n

  22. b Sp∩Sg Contact Space Intersected • Contact space of b against p and g • Denoted as Sp and Sg b g Intersected p n Sp = p Sg = g

  23. Contact Space • Assume b is a sphere • Computed from Minkowski sum • Configuration space, in general • Too expensive to compute Sp Sg Sp Sg b b Sp∩Sg Sp∩Sg

  24. Approximate Probability Computation • Assumes “b” to be a point, a degenerated case • Exact value is not required • Only 5% incorrect decisions compared to considering many other cases • Surface area heuristics (SAH) [MacDonald and Booth 90, Havran 00] • Equivalent to our approximation

  25. Outline • Probabilistic model • Layout computation • Results

  26. Overview of Layout Algorithm • Cache-oblivious layout computation • Do not assume any particular cache block sizes • Designed to work well with various (geometric) block sizes [Yoon and Lindstrom 06] • Two main steps in recursion • Cluster construction w/ parent-child locality • Layout clusters w/ spatial locality

  27. Clustering • Minimize the working set size during collision queries • Maximize the sum of probabilities of nodes in a cluster • NP-complete even for cache-aware layout given a search query [Gil and Itai 99]

  28. Greedy Clustering • Employ top-down greedy clustering • Compute balanced sized clusters • Maintain convexity [Gil and Itai 99] Cluster 0.5 0.9 0.8 0.1

  29. Layout of Clusters • Uses cache-oblivious layouts of meshes • [Yoon et al. 05] Spatial locality

  30. Layout of Clusters • Uses cache-oblivious layouts of meshes • [Yoon et al. 05] Spatial locality

  31. Outline • Probabilistic model • Layout computation • Results

  32. Results • Collision detection • Use oriented bounding box (OBB) [Gottschalk et al. 96] • Breadth-first tree traversal • Ray tracing • Use kd-tree [Wald 04] • Depth-first tree traversal

  33. Collision Detection – Robot and Power Plant Models 20k triangles 1M triangles

  34. Collision Detection – Performance Comparison I 41% ~ 500% performance improvement Collision time (ms/100) Working set size (KB) van Emde Boas layout Our cache-oblivious layout Breadth-first layout Cache-oblivious mesh layout Depth-first layout Different layouts

  35. Collision Detection – Performance Comparison II 35% ~ 2600% performance improvement Collision time (ms/100) Working set size (KB) van Emde Boas layout Our layout Breadth-first layout Cache-oblivious mesh layout Depth-first layout Different layouts

  36. Cache-Oblivious Layout vs Cache-Aware Layout • Cache-aware layouts • Take advantage of block size information (4KB) • Minor performance degradation • 8% compared to cache-aware layouts

  37. Ray Tracing – Lucy Model 28 million triangles Pentium IV with 1GB

  38. Ray Tracing – Performance Comparison 77% ~ 180% performance improvement Working set size (MB) Render time (sec) Our layout van Emde Boas layout Depth-first layout Breadth-first layout Different layouts

  39. Major Differences over Other Layouts • Commonly used layouts • Consider connectivity of trees • Two improvements of our layouts • Probabilistic model based on geometry • Layout method considering two different localities

  40. Limitations • No guarantee that our layout always improves the performance • May not improve the performance of computationally intensive queries (e.g., exact penetration depth computation) • Assumes that collision algorithm does not use front tracking

  41. Advantages • Generality • Works with any geometric hierarchies • Does not require cache parameters • Usability • Can gain performance improvement without modifying codes • Replaces only data layouts

  42. Conclusion • Cache-efficient layouts of BVHs • Probabilistic model • Simple layout construction method • Applied to collision detection and ray tracing

  43. Ongoing and Future Work • Extend to other proximity and LOD queries [Yoon et al. 06] • Investigate other geometric hierarchies • Improve the quality of hierarchies • Apply to deforming models [Lauterbach et al. 06]

  44. Acknowledgements • Model contributors • Funding agencies • Army Research Office • DARPA • Intel • Lawrence Livermore National Laboratory • Microsoft • National Science Foundation • Office of Naval Research • RDECOM

  45. Acknowledgements • Russ Gayle • Ted Kim • Ming Lin • Peter Lindstrom • Brandon Lloyd • Valerio Pascucci • Stephane Redon • LLNL data analysis group members • Anonymous reviewers

  46. Questions? Thanks!

  47. UCRL-PRES-223220 This work was performed under the auspices of the U.S. Department of Energy by University of California Lawrence Livermore National Laboratory under contract No. W-7405-ENG-48. Note: this talk is not supported or sanctioned by DoE, UC, LLNL, CASC

  48. Additional slides

  49. Double eagle tanker (82M triangles) Isosurface (472M) St. Matthew (372M) BVHs of Massive Models • Complex and massive models • High memory requirement • Can have gigabyte data size

  50. Speed Size 100 ns 1KB Register 101 ns 1MB Caches 102ns 1GB Main memory 104ns Disk storage > 1GB Memory Hierarchies

More Related