Cache-Oblivious Ray Reordering

被引:30
|
作者
Moon, Bochang [1 ]
Byun, Yongyoung [1 ]
Kim, Tae-Joon [1 ]
Claudio, Pio [1 ]
Kim, Hye-Sun [2 ]
Ban, Yun-Ji [2 ]
Nam, Seung Woo [2 ]
Yoon, Sung-Eui [1 ]
机构
[1] Korea Adv Inst Sci & Technol, Taejon 305701, South Korea
[2] ETRI, Taejon 305700, South Korea
来源
ACM TRANSACTIONS ON GRAPHICS | 2010年 / 29卷 / 03期
关键词
Performance; Algorithms; Ray coherence; reordering; cache utilization; ray tracing; LAYOUTS;
D O I
10.1145/1805964.1805972
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a cache-oblivious ray reordering method for ray tracing. Many global illumination methods such as path tracing and photon mapping use ray tracing and generate lots of rays to simulate various realistic visual effects. However, these rays tend to be very incoherent and show lower cache utilizations during ray tracing of models. In order to address this problem and improve the ray coherence, we propose a novel Hit Point Heuristic (HPH) to compute a coherent ordering of rays. The HPH uses the hit points between rays and the scene as a ray reordering measure. We reorder rays by using a space-filling curve based on their hit points. Since a hit point of a ray is available only after performing the ray intersection test with the scene, we compute an approximate hit point for the ray by performing an intersection test between the ray and simplified representations of the original models. Our method is a highly modular approach, since our reordering method is decoupled from other components of common ray tracing systems. We apply our method to photon mapping and path tracing and achieve more than an order of magnitude performance improvement for massive models that cannot fit into main memory, compared to rendering without reordering rays. Also, our method shows a performance improvement even for ray tracing small models that can fit into main memory. This performance improvement for small and massive models is caused by reducing cache misses occurring between different memory levels including the L1/L2 caches, main memory, and disk. This result demonstrates the cache-oblivious nature of our method, which works for various kinds of cache parameters. Because of the cache-obliviousness and the high modularity, our method can be widely applied to many existing ray tracing systems and show performance improvements with various models and machines that have different cache parameters.
引用
收藏
页数:10
相关论文
共 50 条
  • [21] Cache-oblivious databases: Limitations and opportunities
    He, Bingsheng
    Luo, Qiong
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 2008, 33 (02):
  • [22] Cache-oblivious B-trees
    Bender, MA
    Demaine, ED
    Farach-Colton, M
    SIAM JOURNAL ON COMPUTING, 2005, 35 (02) : 341 - 358
  • [23] On the limits of cache-oblivious rational permutations
    Silvestri, Francesco
    THEORETICAL COMPUTER SCIENCE, 2008, 402 (2-3) : 221 - 233
  • [24] Cache-Oblivious R-Trees
    Arge, Lars
    de Berg, Mark
    Haverkort, Herman
    ALGORITHMICA, 2009, 53 (01) : 50 - 68
  • [25] Cache-oblivious planar shortest paths
    Jampala, H
    Zeh, N
    AUTOMATA, LANGUAGES AND PROGRAMMING, PROCEEDINGS, 2005, 3580 : 563 - 575
  • [26] Optimal cache-oblivious implicit dictionaries
    Franceschini, G
    Grossi, R
    AUTOMATA, LANGUAGES AND PROGRAMMING, PROCEEDINGS, 2003, 2719 : 316 - 331
  • [27] Cache-oblivious algorithms and data structures
    Brodal, GS
    ALGORITHM THEORY- SWAT 2004, 2004, 3111 : 3 - 13
  • [28] Optimal Cache-Oblivious Mesh Layouts
    Michael A. Bender
    Bradley C. Kuszmaul
    Shang-Hua Teng
    Kebin Wang
    Theory of Computing Systems, 2011, 48 : 269 - 296
  • [29] Cache-Oblivious R-Trees
    Lars Arge
    Mark de Berg
    Herman Haverkort
    Algorithmica, 2009, 53 : 50 - 68
  • [30] Cache-Oblivious Dynamic Programming for Bioinformatics
    Chowdhury, Rezaul Alam
    Le, Hai-Son
    Ramachandran, Vijaya
    IEEE-ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, 2010, 7 (03) : 495 - 510