Some really cool work of my teammates on differentiable shading language, compatible with HLSL, and interoperable with CUDA/Python/PyTorch, and even C++.
https://developer.nvidia.com/blog/differentiable-slang-a-shading-language-for-renderers-that-learn/
This makes ML + graphics *significantly* easier. I'm excited to see what researchers and engineers do with it :)
I didn't contribute to the language (awesome work of my colleagues), but I had an opportunity to test drive it and work on some real, practical examples and samples.
Check out how easy to use and almost "drop-in" it is. https://developer.nvidia.com/blog/differentiable-slang-example-applications/
@BartWronski holy shit. This is insane! Did it just drop or what???
The whole project is simply amazing!
@shailesh yes it did - fresh Siggraph Asia paper and months of work on the Slang language :)
@BartWronski First CUDA and now this. Nvidia is light years ahead! Did you guys open source everything just today? Or was it open sourced for a long time?
@shailesh Slang was always open source :)
And yes, I'm very happy that my employer does so much open source and truly amazing developer tools. Making great hardware is one thing. Making whole *ecosystems* is the next level required for mass adoption.
@BartWronski Looks quite interesting.
@BartWronski this looks really amazing, thanks for sharing!!!
@BartWronski does history go in circles (yes it does)? Reminds me of symbolic derivatives that actually shipped in HLSL back in 2010 (!) but no one understood them at the time https://walbourn.github.io/hlsl-compiler-support-for-symbolic-derivatives/
@aras I remember symbolic derivatives well! The problem was that IIRC it was only forward differentiation and you couldn't chain them. I remember seeing maybe one or two legit uses for some procedural rendering stuff :)
@BartWronski yeah indeed. But also was kinda ahead of the time.
@aras "can we do something cool with dual numbers? sure!" and implementing the feature, never advertising it, and not really finding use-cases :) I thought it was super-cool nevertheless!
@BartWronski I have been aware of Slang for a few years and probably should finally give it a try on my personal renderer. The last time I checked it, I was stopped by its lack of CMake support (and it seems hard to build from source in a cross-platform way).
@lesley @BartWronski This was strange to read until I realized that the Slang in question is not the Slang that was used to program Midnight Commander, Mutt or slrn.
@lesley please file appropriate tickets :) Slang team would love to have more people at least try it.
(I personally use slangpy, installed from just pip, and Slang in Falcor, also automatically installed)
@BartWronski My favorite quote-taken-out-of-context is "Slang’s automatic differentiation integrates seamlessly"