Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering
École Polytechnique Fédérale de Lausanne (EPFL), Switzerland
arXiv:2202.01284 [cs.GR], (2 Feb 2022)
@misc{jakob2022drjit,
title={Dr.Jit: A Just-In-Time Compiler for Differentiable Rendering},
author={Wenzel Jakob and Sébastien Speierer and Nicolas Roussel and Delio Vicini},
year={2022},
eprint={2202.01284},
archivePrefix={arXiv},
primaryClass={cs.GR}
}
We present Dr.Jit, a domain-specific just-in-time compiler for physically based rendering and its derivative. Dr.Jit traces high-level programs (e.g., written in Python) and compiles them into efficient CPU or GPU megakernels. It achieves state-of-the-art performance thanks to global optimizations that specialize code generation to the rendering or optimization task at hand. While Dr.Jit drastically simplifies the creation of fast Monte Carlo renderers, its design was motivated by the needs of the differentiable rendering community. Builtin facilities for automatic differentiation expose fine-grained control over subtle details of the differentiation process needed to transform the derivative of a simulation into a simulation of the derivative, a prerequisite for high performance in this context. Just-in-time compilation embraces the dynamic nature of gradient evaluation: only small portions of the renderer may need derivative tracking in a specific task, but their location cannot be known ahead of time. Our system specializes algorithms on the fly and removes detected redundancies.
February 6, 2022 by hgpu