Skip to main content
Log in

MSKD: multi-split KD-tree design on GPU

  • Published:
Multimedia Tools and Applications Aims and scope Submit manuscript

Abstract

We present a novel parallel acceleration structure construction and traversal algorithm designed to efficiently exploit the massive parallel computing cores on the Graphic Processing Unit(GPU) to improve the render performance. Our associated data structure is called multi-split KD-tree or MSKD, which focuses on fast generating and efficiently traveling multiple child nodes hierarchy in parallel. At build-time, we introduce a multi-split node generation method to split along three-dimension axes into eight child nodes once, and gather quickly high-quality child nodes even at early construction phase. During traversal, we propose a progressive traversal to fast decide the visiting order for multiple child nodes. Then, we use a dynamic ray transfer to adaptively drive the traversal tasks execution on the GPU. Our experiments with this hierarchy show the construction and traversal performance improvement for ray tracing using MSKD compared to previous methods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  1. Aila T, Laine S (2009) Understanding the efficiency of ray traversal on gpus. In: Proceedings of the conference on high performance graphics 2009, ser. HPG ’09. ACM, New York, pp 145–149. Available online. doi:10.1145/1572769.1572792

  2. Aila T, Karras T (2010) Architecture considerations for tracing incoherent rays. In: Proceedings high-performance graphics, 2010, pp 113–122

  3. Benthin C, Wald I, Woop S, Ernst M, Mark WR Combining single and packet ray tracing for arbitrary ray distributions on the intel(r) mic architecture. IEEE Trans Vis Comput Graph. (accepted for publication)

  4. Bikker J (2012) Arauna realtime ray tracing, http://igad.nhtv.nl/bikker/

  5. Boulos S, Wald I, Benthin C (2008) Adaptive ray packet reordering. In: Proceedings of the 2008 IEEE/EG symposium on interactive ray tracing

  6. Cadet G, Lecussan B (2007) Coupled use of bsp and bvh trees in order to exploit ray bundle performance. In: Proceedings of the 2007 IEEE symposium on interactive ray tracing, ser. RT ’07. IEEE Computer Society, Washington, pp 63–71. Available online. doi:10.1109/RT.2007.4342592

  7. Cook RL, Porter T, Carpenter L (1984) Distributed ray tracing. In: Computer graphics (proceedings of SIGGRAPH 84), pp 137–145

  8. Choi B, Komuravelli R, Lu V, Sung H, Bocchino RL, Adve SV, Hart JC (2010) Parallel SAH k-d tree construction. In: High performance graphics, pp 77–86. Available online: http://dl.acm.org/citation.cfm?id=1921479.1921492

  9. Fan Z, Qiu F, Kaufman A, Yoakum-Stover S (2004) GPU cluster for high performance computing, pp 47–47

  10. Garanzha K, Loop CT (2010) Fast ray sorting and breadth-first packet traversal for gpu ray tracing. Comput Graph Forum 29(2):289–298

    Article  Google Scholar 

  11. Garanzha K, Pantaleoni J, McAllister D (2011) Simpler and faster hlbvh with work queues. In: Proceedings of the ACM SIGGRAPH symposium on high performance graphics, ser. HPG ’11. ACM, New York, pp 59–64. Available online. doi:10.1145/2018323.2018333

  12. Glassner AS (ed) (1989) An introduction to ray tracing. Academic Press Ltd., London

  13. Havran V (2000) Heuristic ray shooting algorithms, Dissertation Thesis, Department of Computer Science and Engineering, Faculty of Electrical Engineering, Czech Technical University in Prague. Available online: http://www.cgg.cvut.cz/havran/phdthesis.html

  14. Hou Q, Zhou K, Guo B (2008) Bsgp: Bulk-synchronous gpu programming. ACM Trans Graph 27(3):19:1–19:13

    Article  Google Scholar 

  15. Karras T (2012) Maximizing parallelism in the construction of BVHs, octrees, and k-d trees. In: high performance graphics, pp 33–37

  16. Lauterbach C, Garl M, Sengupta S, Luebke D, Manocha D (2009) Fast bvh construction on gpus. In: Proceedings eurographics 09

  17. Pantaleoni J, Luebke D (2010) Hlbvh: hierarchical lbvh construction for real-time ray tracing of dynamic geometry. In: Proceedings of the conference on high performance graphics, ser. HPG ’10. Eurographics Association, Aire-la-Ville, pp 87–95. Available online: http://dl.acm.org/citation.cfm?id=1921479.1921493

  18. Reshetov A, Soupikov A, Hurley J (2005) Multi-level ray tracing algorithm. ACM Trans Graph 24(3):1176–1185. Available online. doi:10.1145/1073204.1073329

    Article  Google Scholar 

  19. Shevtsov M, Soupikov A, Kapustin A (2007) Highly parallel fast kd-tree construction for interactive ray tracing of dynamic scenes. Comput Graph Forum 26(3):395–404. Available online. doi:10.1111/j.1467-8659.2007.01062.x

    Article  Google Scholar 

  20. Shih M, Chiu Y-F, Chen Y-C, Chang C-F (2009) Real-time ray tracing with cuda. In: Proceedings of the 9th international conference on algorithms and architectures for parallel processing, ser. ICA3PP ’09. Springer-Verlag, Berlin, Heidelberg, pp 327–337

  21. Sung K (1991) A dda octree traversal algorithm for ray tracing. In: Proceedings of Eurographics, ser. Eurographics ’91. ACM, Vienne, pp 73–85

  22. van Antwerpen D (2011) Improving simd efficiency for parallel monte carlo light transport on the gpu. In: Proceedings of the ACM SIGGRAPH symposium on high performance graphics, ser. HPG ’11. ACM, New York, pp 41–50. Available online. 10.1145/2018323.2018330

  23. Wächter C, Keller A (2006) Instant ray tracing: the bounding interval hierarchy. In: Proceedings of the 17th Eurographics conference on Rendering Techniques, ser. EGSR’06. Eurographics Association, Aire-la-Ville, pp 139–149. Available online. doi:10.2312/EGWR/EGSR06/139-149

  24. Wald I, Slusallek P, Benthin C, Wagner M (2001) Interactive rendering with coherent ray tracing. In: Computer graphics forum, pp 153–164

  25. Wald I, Ize T, Kensler A, Knoll A, Parker SG (2006) Ray tracing animated scenes using coherent grid traversal. ACM Trans Graph 25 (3):485–493. Available online. doi:10.1145/1141911.1141913

    Article  Google Scholar 

  26. Wald I, Boulos S, Shirley P (2007) Ray tracing deformable scenes using dynamic bounding volume hierarchies. ACM Trans Graph 26 (1). Available online. doi:10.1145/1189762.1206075

  27. Wald I, Gribble C, Boulos S, Kensler A (2007) Simd ray stream tracing – simd ray traversal with generalized ray packets and on-the-fly re-ordering

  28. Wu Z, Zhao F, Liu X (2011) SAH KD-tree construction on GPU. In: High performance graphics, pp 71–78

  29. Zhou K, Hou Q, Wang R, Guo B (2008) Real-time kd-tree construction on graphics hardware. In: ACM SIGGRAPH Asia 2008 papers, ser. SIGGRAPH Asia ’08. ACM, New York, pp 126:1–126:11. Available online. doi:10.1145/1457515.1409079

  30. Zhou K, Gong M, Huang X, Guo B (2011) Data-parallel octrees for surface reconstruction. IEEE Trans Vis Comput Graph 17(5):669–681

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Xin Yang or Pengjie Wang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yang, X., Yang, B., Wang, P. et al. MSKD: multi-split KD-tree design on GPU. Multimed Tools Appl 75, 1349–1364 (2016). https://doi.org/10.1007/s11042-014-2371-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11042-014-2371-x

Keywords

Navigation