Skip to content

Releases: EnzymeAD/Enzyme.jl

v0.13.4

28 Sep 04:59
4ff5e44
Compare
Choose a tag to compare

Enzyme v0.13.4

Diff since v0.13.3

Merged pull requests:

Closed issues:

  • data corruption in struct (#603)
  • Gradient error on simple forward/reverse comparison (#701)
  • Additive term incorrectly not dropped in forward-mode (#742)
  • What is ABI? (#1345)
  • Enzyme modifies entries of an array in an inactive struct (#1569)
  • Enzyme could not find shadow for value | with range (#1673)
  • Sparse matvec seems strangely slow compared to Zygote (#1682)
  • Flux Enzyme tests are failing (#1738)
  • Check if function is being called inside autodiff (#1761)
  • Non-determinstic segfault (#1802)
  • Gradients are dropped when using a sparse cholesky (#1825)
  • "Constant memory is stored..." in MLUtils.unsqueeze (#1866)
  • confusing error message in forward over reverse (#1870)
  • Batch mode with autodiff_thunk (#1883)
  • What is the use of DuplicatedNoNeed now that ReturnPrimal is in the mode? (#1892)
  • Add more helper functions from the new DI (#1897)
  • Incorrect derivatives of randn() (#1902)
  • Size error for logpdf(MvNormal) combined with PDMats (#1903)

v0.13.3

26 Sep 03:37
a72efb1
Compare
Choose a tag to compare

Enzyme v0.13.3

Diff since v0.13.2

Merged pull requests:

Closed issues:

  • UndefVarError: abs_cstring not defined in Enzyme.Compiler (#1887)

v0.13.2

24 Sep 18:55
fe41647
Compare
Choose a tag to compare

Enzyme v0.13.2

Diff since v0.13.1

Merged pull requests:

Closed issues:

  • More Extensive Documentation (#326)
  • try/catch block error on Julia 1.8 and earlier (#971)
  • Automate use of deferred in Higher order derivatives (#1005)
  • Higher order differentiation, autodiff_deferred and CustomRules (#1059)
  • Failure for autojacvec=EnzymeVJP() for ODEProblem (#1617)
  • Turing.jl error with AdvancedHMC (#1696)
  • Const kwargs becoming Duplicated in custom rule => error (#1845)
  • Readme image is broken (#1846)
  • List breaking changes for v0.13? (#1861)
  • passing n_outs keyword arg changes reverse mode jacobian output type (#1863)
  • Zero gradient regression involving global variables (#1882)

v0.13.1

18 Sep 22:09
6e867ba
Compare
Choose a tag to compare

Enzyme v0.13.1

Diff since v0.13.0

Merged pull requests:

v0.13.0

18 Sep 19:26
efbe9a1
Compare
Choose a tag to compare

Enzyme v0.13.0

Diff since v0.12.36

Merged pull requests:

Closed issues:

  • autodiff_deferred with derivatives of order greater than 2 (#1173)
  • Minimal CUDA version for Lux Dense Layer (#1442)
  • Computing third order derivatives (#1707)
  • recent jacobian changes break StaticArrays (#1714)
  • sqrt(sum(f, x)) triggers mismatched activity error in forward over reverse (#1794)
  • Oceananigans segfault (#1799)
  • Error: "task switch not allowed from inside staged nor pure functions" (#1804)
  • Forward mode gradient AssertionError (#1807)
  • Error: task switch not allowed from inside staged nor pure functions (#1808)
  • Move runtime activity into mode parameter (#1810)
  • Minimalist StackOverflow in Reverse mode (#1814)
  • AD through ODE solution (#1818)
  • constant memory now breaking static arrays (#1822)
  • ifelse on NaN causing NaN in the reverse path (#1842)
  • Readme image is broken (#1846)
  • Tuple returns: forward vs reverse (#1847)
  • Write analysis pass on autodiff vs autodiff_thunk (#1854)

v0.12.36

04 Sep 04:53
8dde034
Compare
Choose a tag to compare

Enzyme v0.12.36

Diff since v0.12.35

Merged pull requests:

Closed issues:

  • Support for CUDA.jl CuArrays? (#144)
  • Runtime activity required for invoke (#407)
  • Add support for ENABLE_JITPROFILING for both perf and Vtunes (#633)
  • Implementation in DynamicExpressions.jl (#810)
  • Multiple issues when using a global variable (#1313)
  • Jacobian has wrong shape for matrix input (#1332)
  • getting a minimal Lux example working (with CUDA) (#1392)
  • Question about functions that return the same argument they mutate, with different activities for the return and the argument (#1411)
  • Really long error on julia 1.11 (#1748)
  • Forward-over-reverse: hyperbolic functions trigger MethodError: no method matching is_concrete_tuple(::LLVM.LLVMDouble) (#1772)
  • Better Error for invertedReturn->getType() == gutils->getShadowType(call.getType()) (#1779)
  • unhandled forward for jl_f__svec_ref (#1780)
  • BatchDuplicated on functions (#1783)

v0.12.35

02 Sep 01:06
67c529c
Compare
Choose a tag to compare

Enzyme v0.12.35

Diff since v0.12.34

Merged pull requests:

Closed issues:

  • import_frule / import_rrule docs don't appear (#1452)
  • including LoopVectorization causes enzyme to segfault or mutate inputs its not supposed to (#1756)
  • Forward-over-reverse: Typtree failure on <4 x {} addrspace(10)*> (#1762)

v0.12.34

31 Aug 10:45
4a5dbba
Compare
Choose a tag to compare

Enzyme v0.12.34

Diff since v0.12.33

Merged pull requests:

Closed issues:

  • floatrange causes "unkown" binary operator (#274)
  • Reverse mode jacobian is wrong for matrix input (#1391)
  • Integers not treated as const (#1763)
  • Function argument passed to autodiff cannot be proven readonly. (#1764)

v0.12.33

26 Aug 07:12
c1e98c9
Compare
Choose a tag to compare

Enzyme v0.12.33

Diff since v0.12.32

Merged pull requests:

Closed issues:

  • EnzymeVJP failed when training Neural ODE with DiscreteCallback (#1743)
  • CUDA.jl CI broken again because of Enzyme (#1745)
  • 'sensealg=InterpolatingAdjoint(autojacvec=EnzymeVJP(), checkpointing=true) ' failed (#1749)
  • left division with two matrices (#1750)
  • Mixed activity error for 2nd order diff of fused broadcast into preallocated array (#1751)

v0.12.32

21 Aug 13:56
e7be3ce
Compare
Choose a tag to compare

Enzyme v0.12.32

Diff since v0.12.31

Merged pull requests:

Closed issues:

  • LLVM error (#1693)
  • Enzyme doesn't work for AdvancedVI Part VIII: FP32 + Base.Fix1 ignores gradients (#1735)
  • Update broke CUDA.jl downstream CI (#1736)