CARVIEW |
Machine Learning with Slang
Slang is a modern shader language and compiler that extends traditional graphics programming with powerful machine learning capabilities. Building on its foundation as a high-performance shading language for real-time graphics, Slang integrates features like automatic differentiation and interoperability with Python-based ML training frameworks like PyTorch, allowing you to incorporate custom GPU operations directly into neural network training workflows.
Automatic Differentiation for Neural Graphics

Slang provides built-in automatic differentiation capabilities that can transform complex shader code into differentiable functions. This allows you to:
- Generate both forward and backward derivative propagation code automatically
- Support arbitrary control flow and dynamic dispatch in differentiable code
- Make existing rendering codebases differentiable with minimal changes
- Integrate neural components into traditional rendering pipelines
- Incorporate your graphics code into machine learning training processes
Whether you're implementing gradient-based optimization, neural rendering, or differentiable simulation, Slang's autodiff capabilities provide the foundation you need.
Learn more about Automatic DifferentiationSlangPy: Seamless Integration with Python-based ML Frameworks

SlangPy enables direct integration of Slang code into Python-based ML training frameworks like PyTorch, bridging the gap between high-performance GPU programming and machine learning workflows. With SlangPy, you can:
- Call Slang code directly from Python ML training loops without boilerplate
- Integrate custom GPU operations into PyTorch and other Python ML frameworks
- Implement complex algorithms not easily expressed in standard Python ML libraries
- Create efficient sparse data structures optimized for ML training workloads
- Leverage GPU hardware features from within Python-based training pipelines
- Utilize rasterization and ray-tracing techniques within ML workflows
- Integrate Slang code into the training loop with zero boilerplate or C++ required
SlangPy makes it easy to extend your Python-based machine learning workflows with custom GPU code when you need performance and flexibility beyond what standard frameworks provide.
Explore SlangPySlang Machine Learning Development
Slang provides a complete workflow for machine-learning-enchanced graphics development that leverages its shader language foundation:
Develop Shaders
Write high-performance shader code in Slang, leveraging familiar HLSL-like syntax and advanced shader language features like generics and interfaces.
Differentiate
Use automatic differentiation to transform your shaders into differentiable code for training neural networks or optimization algorithms.
Integrate
Connect your Slang code to Python-based ML training frameworks like PyTorch, enabling custom GPU operations within training loops.
Deploy
Compile your shaders to multiple backend targets (CUDA, HLSL, SPIR-V, etc.) for cross-platform deployment in both graphics and ML contexts.
Optimize
Take advantage of Slang's shader module system and compilation model to minimize compile times and maximize runtime performance.
Iterate
Use comprehensive shader tooling support for faster development cycles and easier debugging in both graphics and ML contexts.
Use Cases for ML with Slang Shaders
Combining Slang's shader language capabilities with machine learning opens up unique opportunities:
Neural Rendering
Implement neural rendering techniques like NeRF, neural radiance caching, and learned material models directly in your rendering pipeline using Slang shaders.
Custom ML Operators
Create high-performance custom operators as Slang shaders for machine learning frameworks when standard operations don't meet your needs.
Differentiable Simulation
Build differentiable physics, cloth, fluid, and particle simulation shaders that can be optimized through gradient-based methods.
Graphics Research
Prototype and experiment with novel neural graphics algorithms using Slang's flexible shader language designed specifically for graphics programmers.
Production Pipelines
Integrate machine learning components into existing graphics shader pipelines without sacrificing performance or portability, maintaining a single shader language across your codebase.
Sparse Computation
Implement efficient sparse data structures and algorithms that aren't well-supported by tensor-based ML frameworks.
Get Started with ML in Slang Shaders
Ready to explore machine learning with Slang? Check out these resources to get started:
- Automatic Differentiation Guide - Learn how to use Slang's autodiff capabilities in your shaders
- SlangPy Documentation - Integrate Slang with Python-based ML frameworks like PyTorch
- Coming from HLSL - Transition guide for DirectX shader developers
- Coming from GLSL - Transition guide for OpenGL/Vulkan shader developers
- Slang Playground - Experiment with Slang shader code in your browser