Megakernels Considered Harmful: Wavefront Path Tracing on GPUs
NVIDIA
High-Performance Graphics, 2013
@InProceedings{Laine2013hpg,
author={Samuli Laine and Tero Karras and Timo Aila},
title={Megakernels Considered Harmful: Wavefront Path Tracing on {GPU}s},
booktitle={Proceedings of High-Performance Graphics 2013},
year={2013}
}
When programming for GPUs, simply porting a large CPU program into an equally large GPU kernel is generally not a good approach. Due to SIMT execution model on GPUs, divergence in control flow carries substantial performance penalties, as does high register usage that lessens the latency-hiding capability that is essential for the high-latency, high-bandwidth memory system of a GPU. In this paper, we implement a path tracer on a GPU using a wavefront formulation, avoiding these pitfalls that can be especially prominent when using materials that are expensive to evaluate. We compare our performance against the traditional megakernel approach, and demonstrate that the wavefront formulation is much better suited for realworld use cases where multiple complex materials are present in the scene.
June 19, 2013 by hgpu