Skip to content

Releases: EnzymeAD/Enzyme.jl

v0.11.14

29 Jan 03:22
ba58bcb
Compare
Choose a tag to compare

Enzyme v0.11.14

Diff since v0.11.13

Merged pull requests:

Closed issues:

  • Gradient correctness issues in expression trees (#1241)
  • Trouble writing custom rule in Enzyme: AssertionError: !(overwritten[end]) (#1242)
  • Error with Duplicated{<:Cholesky} (#1250)
  • Wrong gradient for cholesky (#1254)
  • Found unhandled active variable in tuple splat (#1255)

v0.11.13

25 Jan 21:22
ea868da
Compare
Choose a tag to compare

Enzyme v0.11.13

Diff since v0.11.12

Merged pull requests:

Closed issues:

  • "Could not analyze garbage collection behavior" error with non-allocating code. (#1228)
  • Package load time is quite long, and longer on Julia 1.10 (#1234)
  • Enzyme v0.11.11+ much slower to load (#1243)

v0.11.12

31 Dec 03:46
269da4b
Compare
Choose a tag to compare

Enzyme v0.11.12

Diff since v0.11.11

Merged pull requests:

Closed issues:

  • Sparse Array Structure Initializer (#373)
  • Enzyme compilation error when using a sparse cholesky (#997)
  • Mention gradient in the Getting started section (#1035)
  • illegal insertion UNREACHABLE when calling gradient (#1101)
  • GPU kernel error (#1166)
  • Custom rules ignored on Julia 1.9.4 that work fine with 1.10.0-rc1 (#1177)
  • ERROR: LoadError: Enzyme execution failed (#1181)
  • Minor bug with Enzyme.Compiler.make_zero (#1186)
  • Code sample on first page of docs is broken (#1188)
  • How to build documentation locally? (#1189)
  • Crash during GC (#1192)
  • Error when range step is not 1 (#1196)
  • GPU normalize error with CUDA.jl v5 (#1199)
  • When I use structure as an input for a function to be differentiated to and supply a temporary variable for calculations I get 0 as derivative to the structure (#1223)
  • Correctness issue in gradient between Julia 1.6 and 1.10 (#1224)

v0.11.11

03 Dec 22:14
9d6963c
Compare
Choose a tag to compare

Enzyme v0.11.11

Diff since v0.11.10

Merged pull requests:

Closed issues:

  • Bad TypeTree generation (#225)
  • Union leads to broken function (#235)
  • Enzyme + KA Stalls on Error instead of reporting it (#365)
  • Enzyme generates malloc + free for KernelGradients matmul example (#577)
  • augmented forward for jl_f__apply_iterate (#599)
  • Enzyme compilation failed for cmpxchg (#655)
  • [Forward-mode] Implement multi-typed store (#857)
  • Enzyme cannot deduce type (#874)
  • sum of array errors with recent Enzyme (#885)
  • get for Dict errors with certain key types (#892)
  • get error on earlier Julia versions when assertions are enabled (#993)
  • Enzyme compilation failure (#1027)
  • Enzyme execution failed in zygote tests (#1036)
  • LLVM failed verification in custom batch rule (#1075)
  • Garbage collection error (#1103)
  • Decayattr error (#1108)
  • get wrong gradient on Julia 1.9 (#1118)
  • sum wrong gradient on Julia 1.10-nightly (#1119)
  • Not yet implemented augmented forward for jl_f__apply_iterate when differentiating an ODE in reverse mode (#1123)
  • GPU kernel error (#1129)
  • KernelAbstractions and NTuple index (#1140)
  • Tuple-modifying differentiates when imported from existing package, but not when written locally. (#1145)
  • Enzyme.jl Error MethodError: no method matching ptreltype(::Type{Ptr}) (#1152)
  • Suspected Garbage Collected Value Issue When Differentiating with Enzyme.jl (#1154)
  • Crash on basic LoopVectorization operation (#1161)

v0.11.10

27 Oct 17:21
b635408
Compare
Choose a tag to compare

Enzyme v0.11.10

Diff since v0.11.9

Merged pull requests:

v0.11.9

12 Oct 22:04
bf3415d
Compare
Choose a tag to compare

Enzyme v0.11.9

Diff since v0.11.8

Merged pull requests:

Closed issues:

  • Support for jl_eqtable_get (#416)
  • Enzyme using fallback BLAS replacements in deep neural network (#692)
  • Enzyme compilation failed on IPU (#751)
  • Assertion error with inlined function on recent Enzyme versions (#1025)
  • error in nodecayed_phis (#1031)
  • Simplified example of UDE dynamics with Lux neural networks (#1057)
  • Handling of getrf! and getrs! (#1065)
  • Constant variable as temporary storage for active memory (#1068)
  • StaticMatrix in Struct - ERROR: Unsupported Active... (#1069)
  • Forward mode of an ODE solver fails with TypeAnalysisDepthLimit (#1070)
  • Fix Enzyme incompatibilities with Krylov methods (#1077)
  • Issues with Wishart from Distributions.jl (#1081)
  • Bounds error (#1086)

v0.11.8

22 Sep 18:09
45bbf24
Compare
Choose a tag to compare

Enzyme v0.11.8

Diff since v0.11.7

Merged pull requests:

  • Add EnzymeTestUtils package for testing Enzyme rules (#782) (@sethaxen)
  • Add tests for BLAS.dot, BLAS.dotc, and BLAS.dotu (#842) (@sethaxen)
  • CompatHelper: bump compat for GPUCompiler to 0.22, (keep existing compat) (#1001) (@github-actions[bot])
  • support wide ints in tape (#1002) (@motabbara)
  • add 1.10 cpu features string (#1003) (@wsmoses)
  • Fix poison value handling (#1006) (@wsmoses)
  • Abstract state is default duplicated (#1007) (@wsmoses)
  • Reduce amount of printing during 'cannot find shadow' error of an arg… (#1012) (@wsmoses)
  • Attempt fix of nicer error handler for jl_f__apply_iterate (#1013) (@wsmoses)
  • Fix 0 arg wait (#1014) (@wsmoses)
  • Fix display of formula in documentation (#1015) (@metab0t)
  • Fix fallback apply iterate in vector mode (#1016) (@wsmoses)
  • Fix order of args to occursin to reduce printing on store error (#1017) (@wsmoses)
  • Fix UndefVarError: ST not defined (#1019) (@devmotion)
  • Mark custom rule tape loads as needing caching (#1024) (@wsmoses)
  • Fix batched arraycopy (reverse mode) (#1033) (@wsmoses)
  • CompatHelper: bump compat for GPUCompiler to 0.23, (keep existing compat) (#1034) (@github-actions[bot])
  • Add getri nice backtrace (#1040) (@wsmoses)
  • Add missing julia compat to EnzymeTestUtils (#1041) (@sethaxen)
  • Unmark reverse mutating test as broken (#1042) (@sethaxen)
  • Add nicer nc_sync error (#1044) (@wsmoses)
  • Fix print for abi wrapper error (#1049) (@wsmoses)
  • Fix array type cast (#1050) (@wsmoses)
  • CompatHelper: bump compat for GPUCompiler to 0.24, (keep existing compat) (#1051) (@github-actions[bot])
  • Set active_reg for mutable structs to be duplicated rather than active (#1052) (@wsmoses)
  • Fix error when returning undef from function (#1054) (@wsmoses)
  • Fix shadow segfault on custom rule (#1056) (@wsmoses)
  • Add guess activity of ref of int (#1060) (@wsmoses)
  • Fix ordering for vector fallback of apply iterate (#1062) (@wsmoses)
  • Adapt to jll bump and use nice default error for unknown c functions (#1064) (@wsmoses)
  • Better Store Activity Error Messages (#1066) (@wsmoses)

Closed issues:

  • Adding testing utilities (#780)
  • JLJit duplicate symbol (#991)
  • tape width issue using InlineStrings (#998)
  • Incorrect Jacobian when indexing an Array using begin & end (#1008)
  • Catching assertions / debugging mode? (#1009)
  • Assertion failed error (#1011)
  • Illegal type analysis error with gemv call (#1020)
  • Incorrect tape provided to custom reverse rule in for loop (#1022)
  • Cannot deduce type error (#1023)
  • mixed activity for jl_new_struct (#1026)
  • dval of mutated vector not zeroed when other activities are Const (#1028)
  • LLVM failed verification error with BatchDuplicated return type on reverse autodiff_thunk (#1032)
  • No augmented forward pass found for dgemqrt_64_ (#1037)
  • Precompilation failed; has_orc_v1 not defined (#1043)
  • BLAS.scal! error with autodiff_thunk in batch reverse-mode (#1048)
  • Crash with BLAS.scal! as argument in calling method with complex inputs (#1053)
  • AssertionError: Tuple{Vector{Float64}, Float64} has mixed internal activity types (#1055)
  • Invalid unwrap (#1058)

v0.11.7

15 Aug 03:14
8f92f38
Compare
Choose a tag to compare

Enzyme v0.11.7

Diff since v0.11.6

Closed issues:

  • Better error for Active{Vector{Float64}} (#318)
  • Differentiating Gridap code (#447)
  • getting a function call location from a stacktrace (#854)
  • improve debugging (#864)
  • CUDA sin is broken (#924)
  • runtime activity changes AD result (#947)
  • quantile gives wrong gradient on Julia 1.6 (#973)
  • hypot error on Julia 1.7 (#974)
  • Set error with x86 (#975)
  • Incorrect gradients when using views (#979)

Merged pull requests:

v0.11.6

24 Jul 03:41
044fae7
Compare
Choose a tag to compare

Enzyme v0.11.6

Diff since v0.11.5

Closed issues:

  • autodiff_deferred failing on Metal.jl kernel (#925)
  • 1.10 Forward mode segfault (#948)
  • Compilation error for custom reverse rule (#952)

Merged pull requests:

v0.11.5

13 Jul 17:05
b4c6ec6
Compare
Choose a tag to compare

Enzyme v0.11.5

Diff since v0.11.4

Closed issues:

  • Gradient computation "corrupted" on ARM-based M2 CPU (#611)
  • Error with missing value (#801)
  • Derivative leaks into Const input view (#804)
  • Segfaults in LLVM.jl on Julia 1.9.0 (#860)
  • Enzyme + KernelAbstractions: KA syntax changes and differentiating multiple kernels (#896)
  • Handle the new calling convention that julia emits for cheaper ptls (#909)
  • Enzyme compilation failed when using logpdf (#910)
  • Enzyme troubles with ElectrochemicalKinetics (#931)
  • Asserts on upcoming Julia 1.10 (#933)
  • Regression on differentiating Bessels.jl (#941)

Merged pull requests: