Batching of divergent rays on GPU architectures
Summary
Ray tracing is an image generation method that involves fundamentally incoherent access to system memory. Ray batching is a technique developed to defer certain accesses to memory when ray tracing, to allow many similar accesses to be performed together - increasing the effectiveness of modern processors’ caches. This research aims to take an existing successful ray batching system originally designed as a single-threaded CPU based system, and adapt it for use in a GPU environment. A technique is presented which successfully performs batching on a GPU, however no performance improvement is demonstrated over current implementations. Insights into the performance of varying memory layouts and data structures, and parallel access required to access these are gained.