<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/autodiff/reverse-loop.slang, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2025-04-04T18:12:27+00:00</updated>
<entry>
<title>Add a loop analysis step to infer the exit values of loop phi parameters. (#6696)</title>
<updated>2025-04-04T18:12:27+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2025-04-04T18:12:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=41e7e565eb3dfa13562cbfa3e8641874c2c6d66c'/>
<id>urn:sha1:41e7e565eb3dfa13562cbfa3e8641874c2c6d66c</id>
<content type='text'>
* Initial loop analysis pass

* More changes for a single-pass implication propagation

* Update slang-ir-autodiff-loop-analysis.cpp

* Cleanup + new system for loop analysis

* Fixup bugs in loop analysis

* Remove some relation types to simplify the analysis. Add test

* Remove unused

* Address comments

* Fix issue with continue loops

* Update reverse-loop-exit-value-inference-1.slang

* Update reverse-continue-loop.slang</content>
</entry>
<entry>
<title>Assorted auto-diff enhancements for increased performance &amp; more streamlined auto-diff results (#5394)</title>
<updated>2024-10-28T19:47:58+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2024-10-28T19:47:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b61be5e6fb7fe1c4ec8228cdf73f49f11e5a0ac9'/>
<id>urn:sha1:b61be5e6fb7fe1c4ec8228cdf73f49f11e5a0ac9</id>
<content type='text'>
* Various AD enhancements

* Fix issue with pt-loop test

* Update pt-loop.slang

* More fixes for perf. Final minimal context test now passes.

* Fix issue with loop-elimination pass not running after dce

* Try fix wgpu test by removing select operator

* Disable wgpu

* Delete out.wgsl

* Remove comments

* Update slang-ir-util.cpp

* Fix header relative paths for slang-embed

* Disbale wgpu for a few other tests

* Better way of determining which params to ignore for side-effects

* Update slang-ir-dce.cpp

* Fix issue with circular reference from previous AD pass being left behind for the next AD pass

* Update slang-ir-dce.cpp</content>
</entry>
<entry>
<title>Report AD checkpoint contexts (#5058)</title>
<updated>2024-09-19T03:42:07+00:00</updated>
<author>
<name>venkataram-nv</name>
<email>vedavamadath@nvidia.com</email>
</author>
<published>2024-09-19T03:42:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=b808aa4df50d46eaa569561f7e464c55c1c2d72a'/>
<id>urn:sha1:b808aa4df50d46eaa569561f7e464c55c1c2d72a</id>
<content type='text'>
* Transferring source locations when creating phi instructions

* Tracking for simple variables

* Deriving source locations for loop counters

* Printing checkpoint structure breakdown

* More readable output format

* Special behavior for loop counters

* Writing report to file

* Add slangc option to enable checkpoint reports

* Display types of checkpointed fields

* Message in case there are no checkpointing contexts

* Catch source locations for function calls

* Source cleanup

* Fix compilation warnings

* Remove stray dump()

* Provide the report through diagnostic notes

* Add missing path for sourceLoc during unzip pass

* Add tests for reporting intermediates

* Include more transfer cases for source locations

* Fix ordering in address elimination

* Fill in more holes with source location transfer

* Remove debugging line

* Reverting changes to diagnostic sink

* Simplify address elimination using source location RAII contexts

* Eliminating manual source loc transfers in forward transcription

* Fix local var adaptation to use RAII location setter

* Simplify primal hoisting logic for source location transfer

* Simplify unzipping with RAII location scopes

* Simplify transpose logic

* Cleaning up for rev.cpp

* Reverting spacing changes

* Fix mistake with source loc RAII instantiation

* Fix formatting issues</content>
</entry>
<entry>
<title>Add [Differentiable(n)] syntax to specify max order. (#2883)</title>
<updated>2023-05-14T22:09:22+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-05-14T22:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=6ac0c6a688b33965ba83c18e68861f8f9c4f5250'/>
<id>urn:sha1:6ac0c6a688b33965ba83c18e68861f8f9c4f5250</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add static for loop iteration inference. (#2659)</title>
<updated>2023-02-20T18:17:00+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-02-20T18:17:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=8b05df4187117d61491f2fdbeb7d744146ad73f7'/>
<id>urn:sha1:8b05df4187117d61491f2fdbeb7d744146ad73f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allocate N+1 arrays instead of N to avoid out-of-bounds access when unzipping loops (#2663)</title>
<updated>2023-02-18T00:03:52+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2023-02-18T00:03:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=a8da735ca4e0ed49796dda164c39e21aea4a7bc6'/>
<id>urn:sha1:a8da735ca4e0ed49796dda164c39e21aea4a7bc6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reverse-mode Loop Support (#2635)</title>
<updated>2023-02-09T22:40:20+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2023-02-09T22:40:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=df02f3f50f977112ca1fbb148cd48ee41d560f41'/>
<id>urn:sha1:df02f3f50f977112ca1fbb148cd48ee41d560f41</id>
<content type='text'>
* Full loop support now working. MaxItersAttr in progress

* Lookup table updates?

* Fixed the max iters decoration

* Minox fixes &amp; remove superfluous code

* fixup warnings

* Revert "Lookup table updates?"

This reverts commit 7d9b0793fb5239f31d1155776e846dcf1892d8d9.

* Update 07-autodiff.md

* Change maxiters to MaxIters

* Added asserts

* Update 07-autodiff.md</content>
</entry>
<entry>
<title>Overhaul `transposeParameterBlock` to support `inout` params. (#2621)</title>
<updated>2023-02-04T00:44:33+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2023-02-04T00:44:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=228e71dab7dfa18ece979f4099ec0c7d1e37e5ff'/>
<id>urn:sha1:228e71dab7dfa18ece979f4099ec0c7d1e37e5ff</id>
<content type='text'>
* Overhaul `transposeParameterBlock` to support `inout` params.

* Small bug fixes.

* Bug fix on differentiable intrinsic specialization.

* Fixes.

* Run autodiff tests on CPU.

* Clean up.

* More bug fixes.,

* Add test coverage on inout param.

* Fix language server hinting for transcribed mutable params.

---------

Co-authored-by: Yong He &lt;yhe@nvidia.com&gt;</content>
</entry>
<entry>
<title>Overhauled reverse-mode control flow handling (#2608)</title>
<updated>2023-01-30T16:46:36+00:00</updated>
<author>
<name>Sai Praveen Bangaru</name>
<email>31557731+saipraveenb25@users.noreply.github.com</email>
</author>
<published>2023-01-30T16:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=134dd7eb26fc7988ae13559d276cbf337b4b9d27'/>
<id>urn:sha1:134dd7eb26fc7988ae13559d276cbf337b4b9d27</id>
<content type='text'>
* Added switch-case support; fixed non-diff parameter transposition

* Made region propagation much more robust. Partial loop unzip implementation

* WIP: Added most loop handling code, and a test. Still untested

* Added CFG Normalization pass + CFG Reversal Pass + Loop Unzipping + most loop transcription

* Add single-iter-loop test.

* proj files

* removed comments

* Update reverse-loop.slang

* Removed out-of-date code

* Disabled IR validation during constructSSA phase of normalizeCFG. constructSSA now reuses sharedBuilder

* Moved normalizeCFG() call to prepareFuncForBackwardDiff()</content>
</entry>
</feed>
