kotturtech / OpenCLRayTracer

OpenCL Ray Tracing Utility Library
MIT License
3 stars 2 forks source link

BVH performance #1

Open vtushevskiy opened 5 years ago

vtushevskiy commented 5 years ago

Did you compare performance of your implementation of BVH to this paper?

Thanks for great OpenCL and acceleration structures tutorial!

kotturtech commented 5 years ago

Hi, In fact, my implementation of BVH is based on the mentioned paper. That is the fastest parallel BVH construction algorithm that is known to me.

BR, Timur

On Wed, Oct 10, 2018 at 10:24 PM vtushevskiy notifications@github.com wrote:

Did you compare performance of your implementation of BVH to this https://devblogs.nvidia.com/thinking-parallel-part-iii-tree-construction-gpu/ paper?

Thanks for great OpenCL and acceleration structures tutorial!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/kotturtech/OpenCLRayTracer/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/ATGeY3ond0pto9GhyIdYhx8RXA2Sy4DYks5ujklWgaJpZM4XWKQo .

vtushevskiy commented 5 years ago

Why did you choose bitonic sort instead of radix sort for Morton Codes sort in BVH construction?



if (Success != _bitonicSorter->sort(_sortedMortonCodes->getCLMem(),_mortonBufferItems,err))

return Error;
kotturtech commented 5 years ago

I've chosen the Bitonic sort because it was the best working example I could find then. All this work is actually a practical part of my M.Sc final project, so due to time constraints I preferred to take the best working examples as building blocks for algorithms. Since I use the same sorting algorithm for all algorithms that I compare, it won't affect the results of comparison, but may affect the overall performance.

[image: Mailtrack] https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& Sender notified by Mailtrack https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5& 10/14/18, 9:06:20 PM

On Fri, Oct 12, 2018 at 3:46 AM vtushevskiy notifications@github.com wrote:

Why did you choose bitonic sort instead of radix sort for Morton Codes sort in BVH construction? //2.Sort the leaves by Morton Codes if (Success != _bitonicSorter->sort(_sortedMortonCodes->getCLMem(),_mortonBufferItems,err)) return Error;

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kotturtech/OpenCLRayTracer/issues/1#issuecomment-429167435, or mute the thread https://github.com/notifications/unsubscribe-auth/ATGeYxw4CeDl40-7c5HUpEaWyJvd3xbOks5uj-ZVgaJpZM4XWKQo .

vtushevskiy commented 5 years ago

It is definitely amazing master thesis. I adopted linear BVH algorythm for particle system, it started to work well today! Thank for really great tutorial about OpenCL and GPGPU programming overall!