diff --git a/_data/documentation.yaml b/_data/documentation.yaml index 1043d84e..39e0d5d3 100644 --- a/_data/documentation.yaml +++ b/_data/documentation.yaml @@ -11,6 +11,10 @@ overview: description: "The formal specification of the Slang programming language. Work in progress.." link_url: "https://github.com/shader-slang/spec" link_label: "Language Specification" + - title: "SlangPy User Guide" + description: "Learn how to build machine learning and neural graphics applications with Slang and Python." + link_url: "https://slangpy.shader-slang.org" + link_label: "SlangPy User Guide" - title: "Feature Matureness" description: "List of Slang Features with their stableness/matureness." link_url: "https://shader-slang.com/docs/feature_matureness" diff --git a/docs/getting-started.md b/docs/getting-started.md index dde9b9fb..ea5f5221 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -24,6 +24,21 @@ intro_image_hide_on_mobile: false + +
The SlangPy package seamlessly bridges the graphics and machine learning ecosystems in Python. You can write Slang code to implement complex data structures and algorithms, or to use rasterization and ray-tracing. Slang code can be integrated directly into your Python/PyTorch training loop with SlangPy. No boilerplate, no C++.
+ Try SlangPy ++ The Slang compiler can generate code for a wide variety of targets: D3D12, Vulkan, Metal, D3D11, + OpenGL, CUDA, WebGPU and even generate code to run on a CPU. For textual targets, such as Metal Shading + Language (MSL) and CUDA, Slang produces readable code that preserves original identifier names, as + well as the type and call structure, making it easier to debug. +
+
+
+ Slang code is highly portable, but can still leverage unique platform capabilities, including the + latest + features in + Direct3D and Vulkan. For example, developers can make full use of + pointers when generating + SPIR-V. + Slang's capability system helps applications + manage + feature + set differences + across target platforms by ensuring code only uses available features during the type-checking step, + before + generating + final code. Additionally, Slang provides flexible + interop + features to enable + directly embedding target code or SPIR-V into generated shaders. +
+
Slang can automatically generate both forward and backward derivative propagation code for complex functions that involve arbitrary control flow and dynamic dispatch. This allows existing - rendering codebases to easily become differentiable, or for Slang to serve as the kernel - language in a PyTorch-driven machine learning framework via slangtorch.
+ rendering codebases to easily become differentiable, enabling adoption of neural components, or integration into a training process. Automatic Differentiation
+ Slang code can be integrated directly into your Python/PyTorch training loop with SlangPy. You can implement complex control-divergent algorithms, sparse data structures, make use of advanced GPU features in Slang, and call your Slang code from Python without any boilerplate with the SlangPy package.
+ SlangPy +
+
+
+