返回
SLANG.D: Fast, Modular and Differentiable Shader Programming
DOI:10.1145/3618353.png)
摘要
En 中文
We introduce SLANG.D, an extension to the Slang shading language that incorporates first-class automatic differentiation support. The new shading language allows us to transform a Direct3D-based path tracer to be fully differentiable with minor modifications to existing code. SLANG.D enables a shared ecosystem between machine learning frameworks and pre-existing graphics hardware API-based rendering systems, promoting the interchange of components and ideas across these two domains. Our contributions include a differentiable type system designed to ensure type safety and semantic clarity in codebases that blend differentiable and non-differentiable code, language primitives that automatically generate both forward and reverse gradient propagation methods, and a compiler architecture that generates efficient derivative propagation shader code for graphics pipelines. Our compiler supports differentiating code that involves arbitrary control-flow, dynamic dispatch, generics and higher-order differentiation, while providing developers flexible control of checkpointing and gradient aggregation strategies for best performance. Our system allows us to differentiate an existing real-time path tracer, Falcor, with minimal change to its shader code. We show that the compiler-generated derivative kernels perform as efficiently as handwritten ones. In several benchmarks, the SLANG.D code achieves significant speedup when compared to prior automatic differentiation systems.
Keyword:
Automatic differentiation
differentiable graphics
differentiable rendering
shading language
期刊
IF:
9.5
论文数:
4.8K
被引数:
3.6W
机构
引用论文
Studies of enantiomerization of chiral 3,4-dihydro-1,2,4-benzothiadiazine 1,1-dioxide type compounds
Chirality
IF0

