Cache-Efficient Layouts of
Download
1 / 55

Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs) - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Cache-Efficient Layouts of Bounding Volume Hierarchies (BVHs)' - cathleen-brown


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

    • Handles any kind of BVHs and spatial partitioning hierarchies (e.g., kd-tree)


Bounding volume hierarchies bvhs
Bounding Volume Hierarchies (BVHs)

  • Widely used data structures in:

    • Ray tracing

    • Collision detection

    • Visibility culling

Ray tracing

Dynamic simulation


Bounding volumes bvs
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


Layout of bvhs
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


Motivation
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/


Memory hierarchies and caches
Memory Hierarchies and Caches

Fast memory

or cache

Slow memory

Block

transfer

Disk

CPU

1 sec

10-6 sec

10-4 sec

Access time:


Main contributions
Main Contributions

  • An algorithm computing cache-efficient layouts of BVHs

    • Probabilistic model

    • Simple layout construction method

    • Applicable to spatial partitioning hierarchies


Related work
Related Work

  • Mesh layouts

  • Layouts of search trees

  • Layouts of BVHs


Related work1
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


Related work2
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


Related work3
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]


Outline
Outline

  • Probabilistic model

  • Layout computation

  • Results


Outline1
Outline

  • Probabilistic model

  • Layout computation

  • Results


Traversals of collision queries on bvhs
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


Two localities
Two Localities

  • Parent-child locality

  • Spatial locality


Parent child locality
Parent-child Locality

B

A

B

A

BVH2

BVH1


Spatial locality
Spatial Locality

D

C

E

C

D

E

BVH2

BVH1


Probabilistic model
Probabilistic Model

  • Quantify localities in a uniform way

    • Measure the probability for localities

    • Based on geometric relationships between bounding volumes


Probabilistic model1
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


Probability computation
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


Contact space

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


Contact space1
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


Approximate probability computation
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


Outline2
Outline

  • Probabilistic model

  • Layout computation

  • Results


Overview of layout algorithm
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


Clustering
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]


Greedy clustering
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


Layout of clusters
Layout of Clusters

  • Uses cache-oblivious layouts of meshes

    • [Yoon et al. 05]

Spatial locality


Layout of clusters1
Layout of Clusters

  • Uses cache-oblivious layouts of meshes

    • [Yoon et al. 05]

Spatial locality


Outline3
Outline

  • Probabilistic model

  • Layout computation

  • Results


Results
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



Collision detection performance comparison i
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


Collision detection performance comparison ii
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


Cache oblivious layout vs cache aware layout
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


Ray tracing lucy model
Ray Tracing – Lucy Model

28 million triangles Pentium IV with 1GB


Ray tracing performance comparison
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


Major differences over other layouts
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


Limitations
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


Advantages
Advantages

  • Generality

    • Works with any geometric hierarchies

    • Does not require cache parameters

  • Usability

    • Can gain performance improvement without modifying codes

    • Replaces only data layouts


Conclusion
Conclusion

  • Cache-efficient layouts of BVHs

    • Probabilistic model

    • Simple layout construction method

    • Applied to collision detection and ray tracing


Ongoing and future work
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]


Acknowledgements
Acknowledgements

  • Model contributors

  • Funding agencies

    • Army Research Office

    • DARPA

    • Intel

    • Lawrence Livermore National Laboratory

    • Microsoft

    • National Science Foundation

    • Office of Naval Research

    • RDECOM


Acknowledgements1
Acknowledgements

  • Russ Gayle

  • Ted Kim

  • Ming Lin

  • Peter Lindstrom

  • Brandon Lloyd

  • Valerio Pascucci

  • Stephane Redon

  • LLNL data analysis group members

  • Anonymous reviewers


Questions

Questions?

Thanks!


Ucrl pres 223220
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



Bvhs of massive models

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


Memory hierarchies

Speed

Size

100 ns

1KB

Register

101 ns

1MB

Caches

102ns

1GB

Main memory

104ns

Disk storage

> 1GB

Memory Hierarchies


Mesh layouts
Mesh Layouts

  • Rendering sequences

    • Triangle strips

    • [Deering 95, Hoppe 99, Bogomjakov and Gotsman 02]

  • Processing sequences

    • [Isenburg and Gumhold 03, Isenburg and Lindstrom 04]

Assume that access pattern

globally follows the layout order!


Mesh layouts1
Mesh Layouts

  • Cache-aware and cache-oblivious layouts of meshes and graphs

    • [Yoon et al. 05, Yoon and Lindstrom 06]

Require an input graph that represents

access patterns on a BVH


Layouts of search trees
Layouts of Search Trees

  • Cache-aware layout of search tree [Gil and Itai 99]

  • Cache-oblivious search tree layout [Alstrup et al. 03]

Require a probability function

that each node is accessed


Layouts of bvhs
Layouts of BVHs

  • Realtime collision detection book [Ericson 04]

  • Layouts analysis in ray tracing [Havran 97]

  • Opcode [Terdiman 03]

    • Uses blocking

  • van Emde Boas layout [van Emde Boas 77]

    • Uses recursive blocking


Layout of clusters2
Layout of Clusters

  • Uses cache-oblivious layouts of meshes

    • [Yoon et al. 05]

Spatial locality


ad