v0.11.0
Enzyme v0.11.0
Closed issues:
- EnzymeRules (#172)
- Stable docs missing from scripts deploy (#354)
- Missing support for erf (and related I guess) (#364)
- Error differentiating past FFT (#369)
- Merge fwddiff_deferred and autodiff_deferred (#483)
- Segmentation Fault (#514)
- Incorrect gradient returned when vector splatting is used (#545)
- lowerGCAllocBytes LLVM error running tests (#553)
- GC Segfault [private repo] (#555)
- Julia 1.9 GC segfault (#597)
- Linking two modules of different target triples: 'bcloader' is 'arm64-apple-macosx11.0.0' whereas 'text' is 'arm64-apple-darwin21.5.0' (#607)
- Test faulting in
specialfunctions
on ARM-based Apple M2 CPU (#609) - Supporting rules on functions with keyword arguments (#617)
- Segmentation Fault (#630)
- Segment violation when trying to run an optimization problem with DiffEqFlux.jl (#634)
- Wrong gradients when modifying a vector in a struct (#639)
- Enzyme is modifying variables in a struct that is not part of active data (#640)
- getfield calls not supported (#644)
- Type insertion error (#646)
- cannot handle (forward) unknown intrinsic llvm.rint and pretty nasty segfault (#647)
- Cannot handle instrinsic @llvm.trunc.f64 (#648)
- Computing hessian of unnamed functions throws error (#649)
- Calling convention mismatch
autodiff(Forward, rosenbrock_inp, Duplicated, BatchDuplicated(x, (dx_1, dx_2)))
causes segmentation fault (#652) - LLVM bug encountered in Turing.jl (#658)
- 50% correctness with certain Turing models (#659)
- Insufficiently aggressive activity analysis (#660)
- Primal returned instead of shadow? (#667)
- incorrect value when comparing with ForwardDiff (Forward mode) (#672)
- Duplicated of Ref value does not accumulate gradient in GPU kernel (#674)
- Active variables passed by value to jl_threadsfor (#675)
- Parameter unpacking yields
ERROR
s (#677) - Forward over reverse of a simple spring energy (#684)
- Forward over Reverse Example broken on 0.11-dev (#685)
- Unhandled binary operator (#688)
- Inconsistent results with ParameterHandling.jl (#691)
- Realloc error on Reverse over Forward (#693)
- Custom rule not detected if defined after call to
autodiff
(#696) - running autodiff twice leads to bad result when result vector is preallocated (#699)
- Missing docstrings for types used in custom reverse rules (#704)
- Calling convention mismatch error with custom reverse rule (#706)
- Gradient of matrix determinant errors (#709)
- seg fault in legalRecompute (#716)
- CUDA test fails - no method matching LLVM.Value (#718)
Merged pull requests:
- Add EnzymeCore changes for split mode (#334) (@vchuravy)
- Add split mode to orcv2 support (#534) (@vchuravy)
- Add support for user-defined rules: Take 4 (#589) (@wsmoses)
- Cleanup deferred (#604) (@wsmoses)
- Add EnzymeRules to autodocs (#605) (@vchuravy)
- Test and improve custom forward rule shadow handling (#608) (@wsmoses)
- Fix rrule api (#612) (@wsmoses)
- Move and simplify activity rules (#614) (@wsmoses)
- declare autodiff in EnzymeCore (#618) (@vchuravy)
- KA rules (#619) (@vchuravy)
- Add flexshadow option (#620) (@wsmoses)
- Add svec_ref null handler (#621) (@wsmoses)
- Improve error message (#622) (@wsmoses)
- Use tuple of modification status rather than single bool (#625) (@wsmoses)
- Bump workaround (#627) (@wsmoses)
- Ensure mustwrap preserves sret (#628) (@wsmoses)
- Convert task errors to runtime (#629) (@wsmoses)
- Implement blocking inlining for kwcall with rule (#638) (@vchuravy)
- Add rosenbrock example (#641) (@vchuravy)
- Fix calling conv promotion (#653) (@wsmoses)
- Fix activity bug on broadcast (#656) (@wsmoses)
- Bump jll (#657) (@wsmoses)
- Handle copy of inactive input (#661) (@wsmoses)
- Attempt fixes in runtime generic (#663) (@wsmoses)
- Initial split mode [and related ABI change] (#664) (@wsmoses)
- Add view splat test (#665) (@wsmoses)
- Try enabling more tests (#666) (@wsmoses)
- Fallback runtime generic fix (#668) (@wsmoses)
- Bump jll (#670) (@wsmoses)
- Add const activity test (#671) (@wsmoses)
- Adapt to GPUCompiler 0.18 (#673) (@vchuravy)
- Change function in thunk to be type rather than instance (#678) (@wsmoses)
- Fix 1.9 via inactive call latest (#679) (@wsmoses)
- Fix indirection and improve errors (#680) (@wsmoses)
- Fix runtime exception (#682) (@wsmoses)
- Handle emulated fma (#689) (@wsmoses)
- Adapt to llvm5 (#694) (@wsmoses)
- Custom rule doc example (#697) (@gaurav-arya)
- support invalidation for user-defined rules (#702) (@aviatesk)
- Inactive box char fn (#703) (@wsmoses)
- Handle active parallel thread loops (#705) (@wsmoses)
- Bump jll (#707) (@wsmoses)
- Enable optimization for addr13 (#711) (@wsmoses)
- Fix custom reverse rule ordering bug (#713) (@wsmoses)
- Fix gpucompiler kernel arg (#719) (@wsmoses)
- Adapt to new c abi (#720) (@wsmoses)
- Remove user level parent job option (#721) (@wsmoses)
- Bump EnzymeCore version (#722) (@wsmoses)