Skip to content

meistdan/ploc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

//---------------------------------------------------------------------------
// ABOUT
//---------------------------------------------------------------------------

This project contains an implementation of the PLOC-BVH builder based on parallel
locally ordered clustering [1]. The builder is integrated into the ray tracing code 
of Aila et al. [2] and exploits the CUB library for sorting [3]. For more details 
about PLOC see [1].

//---------------------------------------------------------------------------
// AUTHORS
//---------------------------------------------------------------------------

Daniel Meister (meistdan@fel.cvut.cz), Jiri Bittner (bittner@fel.cvut.cz)
Czech Technical University in Prague

//---------------------------------------------------------------------------
// REQUIREMENTS
//---------------------------------------------------------------------------

- Microsoft Windows 7+
- CUDA 9.1, compute capability 3.0+
- Windows: Visual Studio C++ 12.0

Notes:
The PLOC BVH builder and the ray tracing application use the CUDA driver API,
while the CUB library used for sorting has to use the CUDA runtime API. If the
cub project does not load correctly do the following:
- Check 'C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\'
It should contain a props file (e.g. 'CUDA 9.1.props'). If not find it and copy it.
- If you use different version of CUDA then check the project file (cub/cub.vcxproj)
and replace it with the appropriate version (e.g. 'CUDA 9.1' by 'CUDA 8.5').

//---------------------------------------------------------------------------
// CONFIGURATION
//---------------------------------------------------------------------------

The PLOC method is configurable via 'gpu-ray-traversal/ploc.cfg' file.
- radius: 1-128
- morton60: 0-1 
- adaptiveLeafSize: 0-1
- maxLeafSize: 1-64
 
//---------------------------------------------------------------------------
// ACKNOWLEDGMENTS
//---------------------------------------------------------------------------

We thank Timo Aila, Samuli Laine, and Tero Karras for making their high performance 
ray tracing framework publicly available. We also thank the developers of CUB library 
which we use for sorting. 

//---------------------------------------------------------------------------
// REFERENCES
//---------------------------------------------------------------------------

[1] Daniel Meister, Jiri Bittner. Parallel Locally-Ordered Clustering for Bounding 
Volume Hierarchy Construction. IEEE Transactions on Visualization and Computer Graphics, 
2017.

[2] Timo Aila and Samuli Laine. Understanding the Efficiency of Ray Traversal on GPUs. 
High-Performance Graphics, 2009. 
http://www.tml.tkk.fi/~timo/publications/aila2009hpg_paper.pdf

[3] Duane Merrill and Andrew Grimshaw. High Performance and Scalable Radix Sorting.
Parallel Processing Letters, 2011
https://5d3c0b13-a-62cb3a1a-s-sites.googlegroups.com/site/duanemerrill/PplGpuSortingPreprint.pdf

About

Parallel Locally-Ordered Clustering for Bounding Volume Hierarchy Construction

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published