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
相关论文
共 27 条
  • [1] Cache-oblivious databases: Limitations and opportunities
    He, Bingsheng
    Luo, Qiong
    ACM TRANSACTIONS ON DATABASE SYSTEMS, 2008, 33 (02):
  • [2] The Cost of Cache-Oblivious Searching
    Bender, Michael A.
    Brodal, Gerth Stolting
    Fagerberg, Rolf
    Ge, Dongdong
    He, Simai
    Hu, Haodong
    Iacono, John
    Lopez-Ortiz, Alejandro
    ALGORITHMICA, 2011, 61 (02) : 463 - 505
  • [3] Cache-Oblivious and Data-Oblivious Sorting and Applications
    Chan, T-H. Hubert
    Guo, Yue
    Lin, Wei-Kai
    Shi, Elaine
    SODA'18: PROCEEDINGS OF THE TWENTY-NINTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2018, : 2201 - 2220
  • [4] Optimal Cache-Oblivious Mesh Layouts
    Bender, Michael A.
    Kuszmaul, Bradley C.
    Teng, Shang-Hua
    Wang, Kebin
    THEORY OF COMPUTING SYSTEMS, 2011, 48 (02) : 269 - 296
  • [5] Cache Complexity of Cache-Oblivious Approaches: A Review and Extension
    Abuqaddom, Inas
    Serhan, Sami
    Mahafzah, Basel A.
    INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2022, 13 (05) : 1002 - 1009
  • [6] 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
  • [7] Cache-oblivious matrix algorithms in the age of multicores and many cores
    Heinecke, Alexander
    Trinitis, Carsten
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2015, 27 (09) : 2215 - 2234
  • [8] Cache-Oblivious Buffer Heap and Cache-Efficient Computation of Shortest Paths in Graphs
    Chowdhury, Rezaul A.
    Ramachandran, Vijaya
    ACM TRANSACTIONS ON ALGORITHMS, 2018, 14 (01)
  • [9] Cache-Oblivious Wavefront: Improving Parallelism of Recursive Dynamic Programming Algorithms without Losing Cache-Efficiency
    Tang, Yuan
    You, Ronghui
    Kan, Haibin
    Tithi, Jesmin Jahan
    Ganapathi, Pramod
    Chowdhury, Rezaul A.
    ACM SIGPLAN NOTICES, 2015, 50 (08) : 205 - 214
  • [10] Cache-oblivious selection in sorted X+Y matrices
    de Berg, Mark
    Thite, Shripad
    INFORMATION PROCESSING LETTERS, 2008, 109 (02) : 87 - 92