| Age | Commit message (Collapse) | Author |
|
* Create render.slang
* Added higher-order differentiability decorators for built-ins + preliminary tests
* Update diff.meta.slang
* Copy over conformance synthesis code to `DifferentiableTypeConformanceContext`
* Update render.slang
* Fixed 1D warped-area sampling test
* Update warped-sampling-1d.slang
* Remove commented line.
* Change WAS test to use fixed point
* Replaced InterlockedCmpExchange with InterlockedAdd
* Increase fixed point precision
* Reduce floating-point precision by 2 digits to avoid platform-specific problems
* Dropped another digit (just to be safe)
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
* Translate all composed types into tuple types in pyBind.
* Delete temp file.
* Fix get tuple element code emit logic.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* Fix SlangCompileTarget to keep ordering.
* Add test.
Remove V2 version of interface to access IDownstreamCompiler
Update to slang-llvm which has _chkstk support.
* Update slang.h
Co-authored-by: Ellie Hermaszewska <github@sub.monoid.al>
---------
Co-authored-by: Yong He <yonghe@outlook.com>
Co-authored-by: Ellie Hermaszewska <github@sub.monoid.al>
|
|
(#2739)
* Apply IR simplifcation immediately after specialization to avoid duplicates.
* Update source/slang/slang-ir-specialize.cpp
Co-authored-by: Ellie Hermaszewska <github@sub.monoid.al>
---------
Co-authored-by: Yong He <yhe@nvidia.com>
Co-authored-by: Ellie Hermaszewska <github@sub.monoid.al>
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* WIP using SourceMap with SourceManager.
* Add a test to check obfuscation map is working.
---------
Co-authored-by: Yong He <yonghe@outlook.com>
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add PyTorch C++ binding generation.
* fix
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
|
|
* Added higher-order differentiability decorators for built-ins + preliminary tests
* Update diff.meta.slang
|
|
* #include an absolute path didn't work - because paths were taken to always be relative.
* WIP produce obfuscated source map and write when container is specified.
* Make the sourcemap generated name stable.
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix crash.
* Fix `[ForwradDerivative]` on member functions.
* Update comments.
* Fix crash when [BackwardDerivative] is provided but not [ForwardDerivative].
* Allow calling dynamic dispatched generic method from differentiable func.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fixed type coercion issue with higher-order user defined methods
* Placed associated type lookup method in a loop
* Update high-order-user-defined-derivative.slang
* Revert changes to associated type lookup method
|
|
* Update diff-bwd material test
* Minor update
* Hack handling of primal insts that has a function type.
---------
Co-authored-by: winmad <winmad.wlf@gmail.com>
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix optimization pass not converging.
* Fix.
* Fix tests.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Duplicate an example of differentiating Falcor's material system
* Add a second BSDF
* WIP: update test; grad didn't pass through
* Finalize test
---------
Co-authored-by: Lifan Wu <lifanw@nvidia.com>
|
|
* Bug fixes.
* Fix.
* Only perform autodiff for functions whose derivative is actually used.
* Fix loop optimize bug.
* Fix high order diff.
* Fix trivial diff func generation.
* Fixes.
* Cleanup.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
|
|
* Fix associated type resolution bug.
* Fix.
* Fix language server hinting messed up by breadcrumb nodes.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix IntVal type check.
* add test case result.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add support for emitting cuda kernel and host functions.
* Update test.
* Fix cuda preamble emit.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix Phi simplification bug.
* Fix up.
* Fix.
* Fix.
* Fix.
* Fix.
* Fix.
* Fix test.
* Fix test.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Fix name mangling of `FuncCallIntVal` in func signatures.
* Enhance the test.
* Fix.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add `[CudaDeviceExport]` to allow exporting CUDA device functions.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add test case for `makeStruct` transcription.
* Update documentation on `no_diff`.
* Update toc
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Support GL_EXT_fragment_shader_barycentric
* Support pervertex with GL_EXT_fragment_shader_barycentric
|
|
|
|
* Properly implement differential witness of intermediate context type.
* Modify test to include a loop.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Support `fwd_diff(bwd_diff(f))`.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Support high order diff pattern: `bwd_diff(fwd_diff(f))`.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Update restrictions section in autodiff doc.
* Update restrictions sections in autodiff doc.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Add support for `[PrimalSubstitute]` and `[PrimalSubstituteOf]`.
* Fix
* Fix.
* Cleanup.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
`[*DerivativeOf]` attribs. (#2688)
* Reuse higher-order `ResolveInvoke` logic to resolve func refs in [*DerivativeOf] attribs.
* Add diff implementation matrix versions of binary and ternary intrinsics.
* Add diff impl for legacy intrinsics.
* Fix diagnostics of using non-differentiable function in a diff operator.
* Add diff implementation for `determinant`.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Implement derivatives for HLSL intrinsics.
* Vector intrinsics.
* Add all intrinsics.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* WIP: Fix for do-while loops
* Added a somewhat hacky fix for do-while loops
* Redid the indexed region map builder step to fix issue with the nested loops test
* rename
* Used managed pointers
|
|
(#2681)
|
|
* Multiple fixes to get various loop tests to pass.
* Create reverse-nested-loop.slang
* Fix for variables becoming inaccessible during cfg normalization
* Removed comments and moved break-branch-normalization to eliminateMultiLevelBreaks
* Fix.
* Override liveness tests
|
|
* Detect and deduplicate read-only resource access.
* Fix tests.
* Fix tests.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
|
|
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* More control flow and Phi param simplifications.
* Fix.
* Fix gcc error.
* Fix.
* More IR cleanup.
* Fix bug in phi param dce + ifelse simplify.
* Propagate and DCE side-effect-free functions.
* Enhance CFG simplifcation to remove loops with no side effects.
* Fix.
* Fixes.
* Fix tests. Add [__AlwaysFoldIntoUseSite] for rayPayloadLocation.
* More cleanup.
* Fixes.
* Fix.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
Also added legalization for loops
|
|
* Fix crash when applying autodiff to functions with no arguments
* Fixes for loops where the break region is non-trivial
* Minor fix
* Implement array legalization correctly.
* Fix array legalization.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Modify control-flow test case
* Update reverse-control-flow-3.slang
* Fix `transposeCall`.
* Fix.
---------
Co-authored-by: Sai Praveen Bangaru <31557731+saipraveenb25@users.noreply.github.com>
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
* Added support for simple while loops
* Fix support for while loops by changing logic to grab the loop update block
|
|
* Fix differentiable type registration
* Fix use of non-differentiable return value in a differentiable func.
* Fix use of primal inst that does not dominate the diff block.
* Fix primal inst hoisting, and add missing type legalization logic.
* Make `detach` defined on all differentiable T.
---------
Co-authored-by: Yong He <yhe@nvidia.com>
|
|
|
|
unzipping loops (#2663)
|