Conversation
Co-authored-by: sunxd3 <5433119+sunxd3@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Enable second-order differentiation via forward-over-reverse
Bump version to 0.4.193
Dec 30, 2025
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
yebai
added a commit
that referenced
this pull request
Dec 30, 2025
* Fix forward-over-reverse, add tests, DI doesn't work yet
* fix version specific issue
* Use NativeInterpreter in frule_type to avoid maybe_primitive recursion
* add frule for _build_rule!
* revert the nativeinterpreter change
* add has_equal_data_internal for MistyClosureTangent
* add rule for jl_genericmemory_owner to fix 1.11
* add frule for jl_alloc_array_1d to fix 1.10 error
* aboid hardcoded UInt length
* formatting
* more x86 compacy
* deal with Union{} bottom type, make rule type Any for LazyFRule
* revert the Any type change for LazyFRule
* test forward over forward to see
* remove added DI tests
* Update forward_over_reverse.jl
Signed-off-by: Hong Ge <3279477+yebai@users.noreply.github.com>
* Add skip_world_age_check kwarg to build_frule for MistyClosure support
* Add rrule!! for _build_rule! that throws on reverse-over-reverse
* Remove unnecessary rules: literal_pow, push!, jl_genericmemory_owner
* Preserve primitive inlining policy in optimise_ir! for forward-over-reverse
* Restrict getfield frule!! to AbstractArray to avoid ambiguity with StandardTangentType
* Fix Julia 1.12 Future assertion by using sv.interp for wrapper interpreters
* Revert interpreter forwarding changes (too hairy for now)
This reverts commits:
- 3168a13 Fix Julia 1.12 Future assertion
- e18edfd Restrict getfield frule!! to AbstractArray
- 2a9a680 Preserve primitive inlining policy in optimise_ir!
The approach of forwarding abstract_call_gf_by_type and inlining_policy
through BugPatchInterpreter to MooncakeInterpreter causes allocation
regressions across all Julia versions.
* Add back jl_genericmemory_owner frule/rrule for Julia 1.11+
* Move `jl_genericmemory_owner` frule to test file.
* version bump
* Add frules to make DI interface work.
* Actually enable f-o-r tests
* Move DI interface rules to avoiding_non_differentiable_code.jl
* Move interface.jl include before rules
* Move jl_genericmemory_owner frule/rrule to main source for DI tests
* Move higher-order differentiation rules to high_order_derivative_patches.jl
* Split DI tests into first-order and second-order CI jobs
* Restrict second-order DI tests to hessian only
* Move FoR tests to rules/, add world age docs for _dual_mc
* Bump version to 0.4.193 (#913)
* Initial plan
* Bump version to 0.4.193
Co-authored-by: sunxd3 <5433119+sunxd3@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sunxd3 <5433119+sunxd3@users.noreply.github.com>
---------
Signed-off-by: Hong Ge <3279477+yebai@users.noreply.github.com>
Co-authored-by: Hong Ge <3279477+yebai@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Increments the patch version from 0.4.192 to 0.4.193 following the merge of second-order differentiation support via forward-over-reverse.
Changes
versionfield inProject.tomlfrom0.4.192to0.4.193💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.