RenderMan XPU: A Hybrid CPU+GPU Renderer for Interactive and Final-frame Rendering

Abstract
RenderMan XPU is a rewrite of Pixar's RenderMan renderer, designed to run on both CPUs and GPUs. Like its predecessor, it is a progressive path tracer, suitable for both interactive previews and high-quality final-frame rendering, but it utilizes modern hardware and software techniques to run significantly faster. Most source code is shared between the two platforms; code for materials (bxdfs) and light transport (integrators) is compiled with a C++ compiler for CPUs and a CUDA compiler for GPUs, with templating, specialization, and a few macros to handle syntax differences and parallel execution abstractions. The shaders that provide the material input values are written in OSL; we use LLVM so that the same OSL code will run on both types of hardware. Only the low-level ray tracing code and texture lookup and caching code is separate. Typical speedups over our previous renderer (for high-quality final-frame images) are 1.8× to 2.3× on CPUs, 5× to 10× on GPUs, and 6× to 15× on both.
Description

        
@article{
10.1111:cgf.70218
, journal = {Computer Graphics Forum}, title = {{
RenderMan XPU: A Hybrid CPU+GPU Renderer for Interactive and Final-frame Rendering
}}, author = {
Christensen, Per
and
Fong, Julian
and
Nettleship, Tom
and
Seshadri, Meghana
and
Salituro, Susan
and
Kilpatrick, Charlie
and
Gonzalez, Francisco
and
Ravichandran, Srinath
and
Shah, Akshay
and
Jaszewski, Ethan
and
Friedman, Stephen
and
Burgess, James
and
Roy, Trina M.
}, year = {
2025
}, publisher = {
The Eurographics Association and John Wiley & Sons Ltd.
}, ISSN = {
1467-8659
}, DOI = {
10.1111/cgf.70218
} }
Citation
Collections