Adaptive Wavefront Scheduling for Coherent CPU Path Tracing

This research investigates whether adaptive workload scheduling can improve performance in a CPU-based wavefront path tracer. I developed a C++ renderer using OpenUSD and Embree, together with a modular framework comparing a baseline approach with Material, Texture, and Cost-Benefit scheduling policies. The proposed Cost-Benefit scheduler uses runtime information collected by a Cost Tracker to prioritise shading work based on its expected contribution and execution cost, alongside a cost-aware Russian Roulette strategy for path termination.
The policies were evaluated using rendering time, execution coherence, memory locality, scheduling overhead, and image comparisons. Cost-Benefit achieved the strongest overall results, reducing shading time by up to 10% while producing the highest execution coherence and memory locality across the tested configurations. These improvements extended beyond shading, reducing the total rendering time across the entire system and pipeline. Material and Texture scheduling improved coherence but did not consistently improve performance, while the final rendered images remained almost identical to the baseline.
Thesis : Adaptive Wavefront Scheduling for Coherent CPU Path Tracing
| Cornell Box | Cornell Box Dragon | Stress Mixed Scene | Stress Dragon Scene |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
For further questions or analysis please reference the GitHub repository: github.com/fhidargue/wavefront-renderer