Understanding the Efficiency of Ray Traversal on GPUs

Timo Aila     Samuli Laine

Abstract

We discuss the mapping of elementary ray tracing operations---acceleration structure traversal and primitive intersection---onto wide SIMD/SIMT machines. Our focus is on NVIDIA GPUs, but some of the observations should be valid for other wide machines as well. While several fast GPU tracing methods have been published, very little is actually understood about their performance. Nobody knows whether the methods are anywhere near the theoretically obtainable limits, and if not, what might be causing the discrepancy. We study this question by comparing the measurements against a simulator that tells the upper bound of performance for a given kernel. We observe that previously known methods are a factor of 1.5-2.5X off from theoretical optimum, and most of the gap is not explained by memory bandwidth, but rather by previously unidentified inefficiencies in hardware work distribution. We then propose a simple solution that significantly narrows the gap between simulation and measurement. This results in the fastest GPU ray tracer to date. We provide results for primary, ambient occlusion and diffuse interreflection rays.

Bibtex PDF Slides Full implementation
@InProceedings{Aila2009hpg,
  author =    {Timo Aila and Samuli Laine},
  title =     {Understanding the Efficiency of Ray Traversal on GPUs},
  booktitle = {Proc. High-Performance Graphics 2009},
  pages =     {145--149},
  year =      {2009},
}

Understanding the Efficiency of Ray Traversal on GPUs -- Kepler and Fermi Addendum

Timo Aila     Samuli Laine   Tero Karras

Abstract

This technical report is an addendum to the HPG2009 paper "Understanding the Efficiency of Ray Traversal on GPUs", and provides citable performance results for Kepler and Fermi architectures. We explain how to optimize the traversal and intersection kernels for these newer platforms, and what the important architectural limiters are. We plot the relative ray tracing performance between architecture generations against the available memory bandwidth and peak FLOPS, and demonstrate that ray tracing is still, even with incoherent rays and more complex scenes, almost entirely limited by the available FLOPS. We will also discuss two esoteric instructions, present in both Fermi and Kepler, and show that they can be safely used for faster acceleration structure traversal.

Bibtex Technical Report Poster Full implementation
@techreport{Aila:Efficiency:NVIDIA:2012,
    author      = {Timo Aila and Samuli Laine and Tero Karras},
    title       = {Understanding the Efficiency of Ray Traversal on {GPU}s -- {K}epler and {F}ermi Addendum},
    month       = Jun,
    year        = 2012,
    institution = {NVIDIA Corporation},
    type        = {NVIDIA Technical Report},
    number      = {NVR-2012-02},
}

Results for newer GPUs will be posted here

GK110 coming soon.