Releases: JuliaDiff/Diffractor.jl
Releases · JuliaDiff/Diffractor.jl
v0.2.10
v0.2.9
Diffractor v0.2.9
Merged pull requests:
- stage1: Mark
partial
andprimal
helpers as@inline
(#291) (@topolarity)
v0.2.8
v0.2.7
Diffractor v0.2.7
Merged pull requests:
- Eras mode (#263) (@oxinabox)
- Bump julia-actions/setup-julia from 1 to 2 (#288) (@dependabot[bot])
Closed issues:
- Eras mode: Taylor or it Eras (#252)
v0.2.6
Diffractor v0.2.6
Merged pull requests:
- add ne_float intrinsic (#274) (@pepijndevos)
- Fix frule for static array constructor that converts eltype (#275) (@oxinabox)
- minimum changes to Cthulhu interface changes (#279) (@aviatesk)
- Just call primal on intrinics if all tangents are zero (#282) (@oxinabox)
- For Cedar port of handling intrinstics called with zero tangents (#283) (@oxinabox)
- adjustments to the latest master (#284) (@aviatesk)
- fix CI setup (#285) (@aviatesk)
- fix the syntax error in runtests.jl (#286) (@aviatesk)
Closed issues:
- Is there a Diffractor-native interface? (#287)
v0.2.5
Diffractor v0.2.5
Merged pull requests:
- Adjust to base compiler change (#251) (@Keno)
- Start testing reverse mode (#254) (@nmheim)
- Update to new AbstractDifferentiation.jl (#255) (@MasonProtter)
- Allow CI failure on nightly (#257) (@gdalle)
- Build docs on 1.10 (#258) (@oxinabox)
- Don't use ExplictTangentBundle in frule_via_ad (#260) (@oxinabox)
- use zero_bundle for transform of isdefined (#261) (@oxinabox)
- if hit literal in forward demand use zero_tangent (#262) (@oxinabox)
- adjust to the latest compiler changes (#264) (@aviatesk)
- switch to using
Cthulhu.InferredSource(::InferenceState)
(#265) (@aviatesk) - Adjust to Cthulhu API change (#268) (@Keno)
- Bump version (#273) (@MasonProtter)
v0.2.4
Diffractor v0.2.4
Merged pull requests:
- Fix
ZeroBundle
wrapping for GlobalRef PhiNode args (#218) (@oxinabox) - Forward mode mutable struct support (#219) (@oxinabox)
- Fix map in forwards mode (#224) (@oxinabox)
- Add polish to Bundle Types (#225) (@oxinabox)
- forward_visit!: Don't break on stmt-level Expr(:boundscheck) (#226) (@Keno)
- make
shuffle_down
ofTaylorBundle
useTaylorBundle
rather thanExplicitBundle
(#229) (@oscardssmith) - Add forward mode transform for :boundscheck (#230) (@Keno)
- Update to changes to construct_ssa (#234) (@oxinabox)
- handle Expr(:isdefined,) in forwards mode (#235) (@oxinabox)
- Include outer brackets in pretty printing (#238) (@oxinabox)
- renable configured frules (#239) (@oxinabox)
- stop overloading
show
onType
s (#241) (@KristofferC) - adjust to JuliaLang/julia#51754 (#242) (@aviatesk)
- Bump actions/upload-artifact from 3 to 4 (#245) (@dependabot[bot])
- Bump actions/download-artifact from 3 to 4 (#246) (@dependabot[bot])
- Fix link to ForwardDiff.jl (#247) (@JamesWrigley)
Closed issues:
v0.2.3
Diffractor v0.2.3
Merged pull requests:
- remove getindex definition on 1.11 (#203) (@oscardssmith)
- update forcedar (#204) (@oscardssmith)
- add more types supported with bundle helper (#205) (@oxinabox)
- Update index.md (#207) (@mattiasvillani)
- Restrict types in
bundle
to avoid ambiguity errors (#208) (@oxinabox) - Fix
ZeroBundle
wrapping for GlobalRef PhiNode args (#212) (@topolarity) - Bump actions/checkout from 3 to 4 (#213) (@dependabot[bot])
- adjust to JuliaLang/julia#50805 (#214) (@aviatesk)
- add truncate for explicit tangent (#215) (@pepijndevos)
- Remove Composite Bundle (#216) (@oxinabox)
Closed issues:
v0.2.1
Diffractor v0.2.1
Closed issues:
- Add CI for a stable Julia (#186)
- TagBot trigger issue (#193)
- Docs are broken (#195)
- Update to new version of tagbot (#197)
Merged pull requests:
- Give Diffractor an AbstractDifferentiation interface (#187) (@oscardssmith)
- CompatHelper: add new compat entry for AbstractDifferentiation at version 0.5, (keep existing compat) (#198) (@github-actions[bot])
v0.2.0
Initial public release
See https://discourse.julialang.org/t/diffractor-release/102123/ for the announcement
What's Changed
- Update README.md by @jw3126 in #15
- Tiny typo fix in README.md by @AzamatB in #16
- import NewvarNode by @niklasschmitz in #41
- build terminology in CI by @simeonschaub in #44
- fix array indexing backward rule by @GiggleLiu in #43
- Fix on Julia nightly, add some CI by @simeonschaub in #46
- update dependencies and add compat by @simeonschaub in #47
- add test for #43 by @simeonschaub in #48
- adapt to JuliaLang/julia#42125 by @simeonschaub in #49
- Add
RuleConfig
by @mcabbott in #45 - set up some docs by @simeonschaub in #50
- fix terminology link, add some badges by @simeonschaub in #52
- fix typos in terminology by @simeonschaub in #57
- skip Windows CI for now by @simeonschaub in #58
- run CI every night by @simeonschaub in #60
- What if
lifted_getfield
on a tangent just calledgetproperty
by @oxinabox in #39 - [typo] "to" -> "too" in
reading_list.md
by @samuela in #65 - Fix tests by @michel2323 in #62
- add opaque closure fixes to allow running on 1.8/1.9 by @oscardssmith in #76
- add
dx
methods by @oscardssmith in #77 - always unthunk results by @oscardssmith in #79
- Add
DiffractorRuleConfig
to extrarrule
s by @mcabbott in #80 - Fix
rrule_via_ad
return type by @mcabbott in #86 - Mark tests broken based on nightly by @mcabbott in #87
- Accumulate NamedTuple + Tangent by @mcabbott in #88
- Remove broken link in README by @rikhuijzer in #91
- Use broadcasting rules from ChainRules by @mcabbott in #89
- Run on 1.9+ by @mcabbott in #93
- Diffractor: Bump to julia 1.10, prepare for stage 2 work by @Keno in #94
- WIP: Refactor forward mode data structures by @Keno in #54
- Very WIP: Stage2 revival by @Keno in #78
- Import stage2 demand-driven forward mode by @Keno in #95
- CompatHelper: add new compat entry for Cthulhu at version 2, (keep existing compat) by @github-actions in #96
- CompatHelper: add new compat entry for OffsetArrays at version 1, (keep existing compat) by @github-actions in #98
- Hookup demand-driven forward mode to the Diffractor runtime by @Keno in #99
- forward_demand: Implement bundle truncation by @Keno in #101
- Remove unnecessary
@inbounds
by @Keno in #103 - Improve inferability of forward mode data structures by @Keno in #104
- Implement higher order truncation by @Keno in #106
- updates to work on Julia master by @oscardssmith in #107
- Try to force better forward mode inference by @Keno in #111
- enable dependabot for GitHub actions by @ranocha in #115
- adjust to the latest JuliaLang/julia#master by @aviatesk in #114
- Adjust to base generated functions change by @Keno in #123
- Combined nightly fixes by @oxinabox in #127
- NFC cosmetic changes by @aviatesk in #128
- remove the hack by @aviatesk in #129
- follow up the
@generated
function update by @aviatesk in #130 - Document and clean sig on forward_diff_no_inf by @oxinabox in #121
- tidy up
ADInterpreter
constructor by @aviatesk in #132 - adjust to the upstream irinterp refactoring by @aviatesk in #135
- Compact show for ZeroBundle etc by @oxinabox in #136
- Fix codegen of fwd varargs by @Keno in #137
- fwd_demand: Fix handling of SSAValue in stmt position by @Keno in #138
- Correct treatment of QuoteNode in stmt position by @Keno in #140
- Fix show for tangent types with free diff level by @Keno in #139
- Add fwd rule for Core.ifelse by @Keno in #141
- Give correct method error by @oxinabox in #143
- Give better error message when hitting a builtin by @oxinabox in #145
- Disable broken reverse mode tests by @oxinabox in #144
- Forward mode handingly for
Expr(:new, )
inforward_diff_no_inf!
by @staticfloat in #148 - Silence annoyingly large type debugging show in tests by @staticfloat in #150
- Bump actions/cache from 1 to 3 by @dependabot in #118
- Bump actions/checkout from 2 to 3 by @dependabot in #117
- Bump actions/download-artifact from 2 to 3 by @dependabot in #119
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #120
- removes
@pure
and some miscelanious cleanups by @oscardssmith in #108 - remove :loopinfo from IR by @oscardssmith in #154
- fix show
Type{<:AbstractZeroBundle}
by @oscardssmith in #155 - Fix getindex on CompositeBundle of a struct by @oxinabox in #153
- separate minor changes from #158 by @oscardssmith in #159
- Don't inline accesses to nonconst globals by @oxinabox in #160
- use IR_FLAG_REFINED rather than extra_reprocess to rerun inference by @oxinabox in #163
- Don't insert truncation within phi blocks by @oxinabox in #162
- reorganize tests by @oxinabox in #165
- remove noneffectfree per JuliaLang/julia#50313 by @oxinabox in #172
- Mark broken reverse mode tests broken by @oxinabox in #171
- Pass
ssa
instead ofstmt
tovisit_custom!()
by @staticfloat in #169 - Improve type inference of non-
const
GlobalRef's by @staticfloat in #168 - remove
effect_free_and_nothrow
by @oscardssmith in #174 - error for nonliterals by @oxinabox in #167
- bipass all Diffractor machinery if there are no partials by @oxinabox in #173
- fix reverse mode by @oscardssmith in #175
- Ignore
:boundscheck
and:code_coverage_effect
IR nodes by @staticfloat in #176 - Ensure that
:boundscheck
is properly handled by @staticfloat in #177 - Pass maparg to transform by @Keno in #178
- Use
replace_call!()
to replaceExpr(:call, ...)
values by @staticfloat in #180 - stage2(forward): add method table backedge for non-existing
frule
method by @aviatesk in #182 - Allow visit_custom recursion to change the order by @Keno in #179
- Use
@recompile_invalidations
to heal Base/Core.Compiler invalidations by @topolarity in https://github.com/JuliaDiff/Diffr...