Lee, MarkGreen, BrianXie, FengTabellion, EricVlastimil Havran and Karthik Vaiyanathan2017-12-062017-12-062017978-1-4503-5101-02079-8679https://doi.org/10.1145/3105762.3105768https://diglib.eg.org:443/handle/10.1145/3105762-3105768This 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.Computing methodologiesRenderingRay tracingComputer GraphicsMonte CarloPath TracingProduction RenderingVectorizationVectorized Production Path Tracing10.1145/3105762.3105768