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 条
  • [41] Processor-Aware Cache-Oblivious Algorithms*
    Tang, Yuan
    Gao, Weiguo
    50TH INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, 2021,
  • [42] Cache-oblivious index for approximate string matching
    Hon, Wing-Kai
    Lam, Tak-Wah
    Shah, Rahul
    Tam, Siu-Lung
    Vitter, Jeffrey Scott
    COMBINATORIAL PATTERN MATCHING, PROCEEDINGS, 2007, 4580 : 40 - +
  • [43] Cache-oblivious High-performance Similarity Join
    Perdacher, Martin
    Plant, Claudia
    Boehm, Christian
    SIGMOD '19: PROCEEDINGS OF THE 2019 INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2019, : 87 - 104
  • [44] Brief Announcement: Cache-Oblivious Scheduling of Streaming Applications
    Agrawal, Kunal
    Fineman, Jeremy T.
    PROCEEDINGS OF THE 26TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES (SPAA'14), 2014, : 79 - 81
  • [45] A locality-preserving cache-oblivious dynamic dictionary
    Bender, MA
    Duan, ZY
    Iacono, J
    Wu, J
    JOURNAL OF ALGORITHMS-COGNITION INFORMATICS AND LOGIC, 2004, 53 (02): : 115 - 136
  • [46] Improved Space Bounds for Cache-Oblivious Range Reporting
    Afshani, Peyman
    Zeh, Norbert
    PROCEEDINGS OF THE TWENTY-SECOND ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2011, : 1745 - 1758
  • [47] Cache-oblivious comparison-based algorithms on multisets
    Farzan, A
    Ferragina, P
    Franceschini, G
    Munro, JI
    ALGORITHMS - ESA 2005, 2005, 3669 : 305 - 316
  • [48] Closing the Gap Between Cache-oblivious and Cache-adaptive Analysis
    Bender, Michael A.
    Chowdhury, Rezaul A.
    Das, Rathish
    Johnson, Rob
    Kuszmaul, William
    Lincoln, Andrea
    Liu, Quanquan C.
    Lynch, Jayson
    Xu, Helen
    PROCEEDINGS OF THE 32ND ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES (SPAA '20), 2020, : 63 - 73
  • [49] Compressed Cache-Oblivious String B-tree
    Ferragina, Paolo
    Venturini, Rossano
    ALGORITHMS - ESA 2013, 2013, 8125 : 469 - 480
  • [50] Cache-Oblivious Dynamic Dictionaries with Update/Query Tradeoffs
    Brodal, Gerth Stolting
    Demaine, Erik D.
    Fineman, Jeremy T.
    Iacono, John
    Langerman, Stefan
    Munro, J. Ian
    PROCEEDINGS OF THE TWENTY-FIRST ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2010, 135 : 1448 - +