skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Cache-oblivious mesh layouts

Abstract

We present a novel method for computing cache-oblivious layouts of large meshes that improve the performance of interactive visualization and geometric processing algorithms. Given that the mesh is accessed in a reasonably coherent manner, we assume no particular data access patterns or cache parameters of the memory hierarchy involved in the computation. Furthermore, our formulation extends directly to computing layouts of multi-resolution and bounding volume hierarchies of large meshes. We develop a simple and practical cache-oblivious metric for estimating cache misses. Computing a coherent mesh layout is reduced to a combinatorial optimization problem. We designed and implemented an out-of-core multilevel minimization algorithm and tested its performance on unstructured meshes composed of tens to hundreds of millions of triangles. Our layouts can significantly reduce the number of cache misses. We have observed 2-20 times speedups in view-dependent rendering, collision detection, and isocontour extraction without any modification of the algorithms or runtime applications.

Authors:
 [1];  [2];  [2];  [1]
  1. Univ. of North Carolina, Chapel Hill, NC (United States)
  2. Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Publication Date:
Research Org.:
Lawrence Livermore National Lab. (LLNL), Livermore, CA (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
878195
Report Number(s):
UCRL-JRNL-211774
Journal ID: ISSN 0730-0301; TRN: US0602283
DOE Contract Number:  
W-7405-ENG-48
Resource Type:
Journal Article
Resource Relation:
Journal Name: ACM Transaction on Graphics; Journal Volume: 24; Journal Issue: 3
Country of Publication:
United States
Language:
English
Subject:
12 MANAGEMENT OF RADIOACTIVE WASTES, AND NON-RADIOACTIVE WASTES FROM NUCLEAR FACILITIES; 99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; ALGORITHMS; DETECTION; METRICS; MINIMIZATION; MODIFICATIONS; OPTIMIZATION; PERFORMANCE; PROCESSING

Citation Formats

Yoon, Sung-Eui, Lindstrom, Peter, Pascucci, Valerio, and Manocha, Dinesh. Cache-oblivious mesh layouts. United States: N. p., 2005. Web. doi:10.1145/1073204.1073278.
Yoon, Sung-Eui, Lindstrom, Peter, Pascucci, Valerio, & Manocha, Dinesh. Cache-oblivious mesh layouts. United States. doi:10.1145/1073204.1073278.
Yoon, Sung-Eui, Lindstrom, Peter, Pascucci, Valerio, and Manocha, Dinesh. Fri . "Cache-oblivious mesh layouts". United States. doi:10.1145/1073204.1073278. https://www.osti.gov/servlets/purl/878195.
@article{osti_878195,
title = {Cache-oblivious mesh layouts},
author = {Yoon, Sung-Eui and Lindstrom, Peter and Pascucci, Valerio and Manocha, Dinesh},
abstractNote = {We present a novel method for computing cache-oblivious layouts of large meshes that improve the performance of interactive visualization and geometric processing algorithms. Given that the mesh is accessed in a reasonably coherent manner, we assume no particular data access patterns or cache parameters of the memory hierarchy involved in the computation. Furthermore, our formulation extends directly to computing layouts of multi-resolution and bounding volume hierarchies of large meshes. We develop a simple and practical cache-oblivious metric for estimating cache misses. Computing a coherent mesh layout is reduced to a combinatorial optimization problem. We designed and implemented an out-of-core multilevel minimization algorithm and tested its performance on unstructured meshes composed of tens to hundreds of millions of triangles. Our layouts can significantly reduce the number of cache misses. We have observed 2-20 times speedups in view-dependent rendering, collision detection, and isocontour extraction without any modification of the algorithms or runtime applications.},
doi = {10.1145/1073204.1073278},
journal = {ACM Transaction on Graphics},
number = 3,
volume = 24,
place = {United States},
year = {Fri Jul 01 00:00:00 EDT 2005},
month = {Fri Jul 01 00:00:00 EDT 2005}
}