Gkdtree: A group-based parallel update kd-tree for interactive ray tracing

Yoon Sig Kang, Jae Ho Nah, Woo Chan Park, Sung-Bong Yang

Research output: Contribution to journalArticle

10 Citations (Scopus)

Abstract

This paper proposes a new group-based acceleration data structure called gkDtree for interactive ray tracing of dynamic scenes. The main idea of the gkDtree is to construct the acceleration structure with a multi-level hierarchy, and to integrate a parallelization approach to result in a faster update and a more efficient tree traversal. A gkDtree can be viewed as a set of kd-trees, each of which is a local acceleration structure corresponding to a group. For a gkDtree, a scene is divided into several groups based on a scene graph. The local acceleration structure of each group involving only dynamic primitives is rebuilt. To achieve higher parallelization, dependencies among groups in different levels are removed before rebuilding occurs in parallel. To enhance the scalability of parallelization, a simple and fast load-balancing scheme is introduced. Furthermore, we apply a variety of accurate SAH (surface area heuristic) algorithms into tree generation for both static and dynamic groups. The experimental results show that a gkDtree has a real-time update performance. It has an update performance that is up to 166 times faster than a kd-tree for our test scenes in a six-core hardware system environment. Furthermore, the results also show that tree traversal performance of a gkDtree is competitive with that of a kd-tree.

Original languageEnglish
Pages (from-to)166-175
Number of pages10
JournalJournal of Systems Architecture
Volume59
Issue number3
DOIs
Publication statusPublished - 2013 Jan 1

Fingerprint

Ray tracing
Heuristic algorithms
Resource allocation
Data structures
Scalability
Hardware

All Science Journal Classification (ASJC) codes

  • Software
  • Hardware and Architecture

Cite this

Kang, Yoon Sig ; Nah, Jae Ho ; Park, Woo Chan ; Yang, Sung-Bong. / Gkdtree : A group-based parallel update kd-tree for interactive ray tracing. In: Journal of Systems Architecture. 2013 ; Vol. 59, No. 3. pp. 166-175.
@article{41c0c445b17a4c56b5feaa111fc74820,
title = "Gkdtree: A group-based parallel update kd-tree for interactive ray tracing",
abstract = "This paper proposes a new group-based acceleration data structure called gkDtree for interactive ray tracing of dynamic scenes. The main idea of the gkDtree is to construct the acceleration structure with a multi-level hierarchy, and to integrate a parallelization approach to result in a faster update and a more efficient tree traversal. A gkDtree can be viewed as a set of kd-trees, each of which is a local acceleration structure corresponding to a group. For a gkDtree, a scene is divided into several groups based on a scene graph. The local acceleration structure of each group involving only dynamic primitives is rebuilt. To achieve higher parallelization, dependencies among groups in different levels are removed before rebuilding occurs in parallel. To enhance the scalability of parallelization, a simple and fast load-balancing scheme is introduced. Furthermore, we apply a variety of accurate SAH (surface area heuristic) algorithms into tree generation for both static and dynamic groups. The experimental results show that a gkDtree has a real-time update performance. It has an update performance that is up to 166 times faster than a kd-tree for our test scenes in a six-core hardware system environment. Furthermore, the results also show that tree traversal performance of a gkDtree is competitive with that of a kd-tree.",
author = "Kang, {Yoon Sig} and Nah, {Jae Ho} and Park, {Woo Chan} and Sung-Bong Yang",
year = "2013",
month = "1",
day = "1",
doi = "10.1016/j.sysarc.2011.06.003",
language = "English",
volume = "59",
pages = "166--175",
journal = "Journal of Systems Architecture",
issn = "1383-7621",
publisher = "Elsevier",
number = "3",

}

Gkdtree : A group-based parallel update kd-tree for interactive ray tracing. / Kang, Yoon Sig; Nah, Jae Ho; Park, Woo Chan; Yang, Sung-Bong.

In: Journal of Systems Architecture, Vol. 59, No. 3, 01.01.2013, p. 166-175.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Gkdtree

T2 - A group-based parallel update kd-tree for interactive ray tracing

AU - Kang, Yoon Sig

AU - Nah, Jae Ho

AU - Park, Woo Chan

AU - Yang, Sung-Bong

PY - 2013/1/1

Y1 - 2013/1/1

N2 - This paper proposes a new group-based acceleration data structure called gkDtree for interactive ray tracing of dynamic scenes. The main idea of the gkDtree is to construct the acceleration structure with a multi-level hierarchy, and to integrate a parallelization approach to result in a faster update and a more efficient tree traversal. A gkDtree can be viewed as a set of kd-trees, each of which is a local acceleration structure corresponding to a group. For a gkDtree, a scene is divided into several groups based on a scene graph. The local acceleration structure of each group involving only dynamic primitives is rebuilt. To achieve higher parallelization, dependencies among groups in different levels are removed before rebuilding occurs in parallel. To enhance the scalability of parallelization, a simple and fast load-balancing scheme is introduced. Furthermore, we apply a variety of accurate SAH (surface area heuristic) algorithms into tree generation for both static and dynamic groups. The experimental results show that a gkDtree has a real-time update performance. It has an update performance that is up to 166 times faster than a kd-tree for our test scenes in a six-core hardware system environment. Furthermore, the results also show that tree traversal performance of a gkDtree is competitive with that of a kd-tree.

AB - This paper proposes a new group-based acceleration data structure called gkDtree for interactive ray tracing of dynamic scenes. The main idea of the gkDtree is to construct the acceleration structure with a multi-level hierarchy, and to integrate a parallelization approach to result in a faster update and a more efficient tree traversal. A gkDtree can be viewed as a set of kd-trees, each of which is a local acceleration structure corresponding to a group. For a gkDtree, a scene is divided into several groups based on a scene graph. The local acceleration structure of each group involving only dynamic primitives is rebuilt. To achieve higher parallelization, dependencies among groups in different levels are removed before rebuilding occurs in parallel. To enhance the scalability of parallelization, a simple and fast load-balancing scheme is introduced. Furthermore, we apply a variety of accurate SAH (surface area heuristic) algorithms into tree generation for both static and dynamic groups. The experimental results show that a gkDtree has a real-time update performance. It has an update performance that is up to 166 times faster than a kd-tree for our test scenes in a six-core hardware system environment. Furthermore, the results also show that tree traversal performance of a gkDtree is competitive with that of a kd-tree.

UR - http://www.scopus.com/inward/record.url?scp=84893676398&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84893676398&partnerID=8YFLogxK

U2 - 10.1016/j.sysarc.2011.06.003

DO - 10.1016/j.sysarc.2011.06.003

M3 - Article

AN - SCOPUS:84893676398

VL - 59

SP - 166

EP - 175

JO - Journal of Systems Architecture

JF - Journal of Systems Architecture

SN - 1383-7621

IS - 3

ER -