4 ms·
Embarrassingly parallel in theory is different from embarrassingly parallel in practice. One of the major differences is cache -- both instruction cache and dat
by Jasper_ 7y ago
Embarrassingly parallel in theory is different from embarrassingly parallel in practice. One of the major differences is cache -- both instruction cache and data cache. You can, in theory, run 100 rays at once on 100 different threads, but since each ray goes to a completely different part of the scene, it will be loading different geometry, running different shaders, and fetching different textures.
Even in path tracers that aren't using the GPU, one of the relatively recent huge improvements was "ray sorting", which tries to collect rays into bundles that use the same shader and roughly the same area of textures to improve on cache behavior. It brought huge speed increases.
One of the big limitations of NVIDIA's RTX right now is that it does not support ray sorting.
- 0-_-0 7y agoInteresting tidbit about ray sorting: Imagination Technologies had a GPU design in 2014 that had support for ray tracing, including a Coherency Engine: https://www.anandtech.com/show/7870/imagination-announces-powervr-wizard-gpu-family-rogue-learns-ray-tracing https://www.anandtech.com/show/7870/imagination-announces-po... But there wasn't enough interest in GPU path tracing yet.