Vectorized Production Path Tracing
Loading...
Date
2017
Journal Title
Journal ISSN
Volume Title
Publisher
ACM
Abstract
This paper presents MoonRay, a high performance production rendering architecture using Monte Carlo path tracing developed at DreamWorks Animation. MoonRay is the first production path tracer, to our knowledge, designed to fully leverage Single Instruction/ Multiple Data (SIMD) vector units throughout. To achieve high SIMD efficiency, we employ Embree for tracing rays and vectorize the remaining compute intensive components of the renderer: the integrator, the shading system and shaders, and the texturing engine. Queuing is used to help keep all vector lanes full and improve data coherency.We use the ISPC programming language [Intel 2011; Pharr and Mark 2012] to achieve improved performance across SSE, AVX/AVX2 and AVX512 instruction sets. Our system includes two functionally equivalent uni-directional CPU path tracing implementations: a C++ scalar depth-first version and an ISPC vectorized breadth-first wavefront version. Using side by side performance comparisons on complex production scenes and assets we show our vectorized architecture, running on AVX2, delivers between a 1.3× to 2.3× speed-up in overall render time, and up to 3×, 6×, and 4×, speed-ups within the integration, shading, and texturing components, respectively.
Description
@inproceedings{10.1145:3105762.3105768,
booktitle = {Eurographics/ ACM SIGGRAPH Symposium on High Performance Graphics},
editor = {Vlastimil Havran and Karthik Vaiyanathan},
title = {{Vectorized Production Path Tracing}},
author = {Lee, Mark and Green, Brian and Xie, Feng and Tabellion, Eric},
year = {2017},
publisher = {ACM},
ISSN = {2079-8679},
ISBN = {978-1-4503-5101-0},
DOI = {10.1145/3105762.3105768}
}