Releases: EnzymeAD/Enzyme.jl
Releases · EnzymeAD/Enzyme.jl
v0.12.8
v0.12.7
Enzyme v0.12.7
Merged pull requests:
v0.12.6
Enzyme v0.12.6
Merged pull requests:
- Add macro to import rrule from chainrules (#996) (@wsmoses)
- Remove unnecessary val in thunk types (#1432) (@wsmoses)
- Docs: describe differentiable types (#1433) (@wsmoses)
- Document API options (#1435) (@wsmoses)
- Modernize developer instructions to use Preferences.tom (#1436) (@wsmoses)
- Fix static arrays on forward mode gradient call (#1438) (@wsmoses)
- Improve recursion performance (#1439) (@wsmoses)
- Nicer method errors (#1444) (@wsmoses)
Closed issues:
- Modernize developer instructions to use Preferences.toml (#108)
- Add docstrings to Enzyme options in api.jl (#289)
- Unecessary
Val
in Thunk types (#350) - Complex pow compilation error (#547)
- How to use ChainRules rrules with autodiff? (#583)
- Add caveat for differentiation through
Val
(#654) - Sum of Int with floats fails (#708)
- Discussion: what does Enzyme.jl need for DL in Julia? (#805)
- Catch local version missmatch (#851)
- problem with tullio (#1279)
- IOError creating a development build (#1291)
- Why is
autodiff_thunk
useful in forward mode? (#1335) - Why does gradient in forward mode return a tuple? (#1368)
- EnzymeTestUtils : fails on GPU Buffers (#1427)
- StaticArrays + Onehot mismatch (#1437)
- Overly strict enforcement of type equality for Duplicated (#1441)
v0.12.5
Enzyme v0.12.5
Merged pull requests:
- fix deferred (#1426) (@wsmoses)
- Update Format.yml (#1428) (@CarloLucibello)
- Getfield with reference (#1430) (@wsmoses)
- Optimize away unnecessary recursive forward passes (#1431) (@wsmoses)
Closed issues:
- Illegal type analysis error with
setindex!
+ifelse
+ mixed float types (#809) - Error on forward-mode BatchDuplicated of NamedTuple of complex sin on v1.7 (#904)
- Bounds error when analyzing typeunstablerules.jl (#1317)
- Enzyme execution failed on a basic example? (#1321)
- Illegal instruction error on reverse mode autodiff (#1339)
- Unexpected result when function doesn't return nothing (#1363)
- Autodiff Deferred Thunk is broken (#1417)
- Julia Crashes from Assertion (#1429)
v0.12.4
Enzyme v0.12.4
Merged pull requests:
- Adjust tests of triangular solve rules to new EnzymeTestUtils capabilities (#1407) (@simsurace)
- CompatHelper: bump compat for LLVM to 7, (keep existing compat) (#1420) (@github-actions[bot])
- No escaping allocation (#1422) (@wsmoses)
- Fewerprints (#1423) (@wsmoses)
- Fix emiterror (#1425) (@wsmoses)
Closed issues:
- Non-Deterministic behaviour from Enzyme Reverse Mode (#1298)
v0.12.3
Enzyme v0.12.3
Merged pull requests:
- add import_frule (reprised) (#1333) (@CarloLucibello)
- fix add_one_in_place (#1418) (@wsmoses)
- Handle constant gep (#1419) (@wsmoses)
- Correct dead arg elimination (#1421) (@wsmoses)
Closed issues:
- DJ4Earth runtime activity required (#858)
- TypeAnalysisDepthLimit warning with Vector{Vector{Vector{Float64}}} (#866)
- Primal GC preserve end not postdominating begin -> Reverse-mode fails verification (#877)
- triu! Illegal Type Analysis (#1159)
- Error with Flux GRU layer (#1261)
- Long Enzyme compile times (#1296)
- Unexpected zero derivative (#1304)
- Julia segfaults when using maps over a segmented array (#1312)
v0.12.2
Enzyme v0.12.2
Merged pull requests:
- More debug info on error (#1396) (@wsmoses)
- WIP opt out of types (#1413) (@wsmoses)
- Fix test (#1414) (@wsmoses)
- Special case make_zer(array) for perf (#1415) (@wsmoses)
Closed issues:
- JIT error (#1021)
- Error when differentiating
LinearAlgebra.copy_similar
(#1320) make_zero
is type-unstable (#1359)- Illegal type analysis (#1400)
- Reverse mode is type-unstable in v0.12 (#1401)
- Segfault with
Assertion 'isa<LoadInst>(orig) == isa<LoadInst>(val)' failed
(#1408) - Reverse mode gradient is up to 100x slower in Enzyme v0.12 (#1409)
v0.12.1
Enzyme v0.12.1
Merged pull requests:
- [EnzymeTestUtils] Vectorize function for FiniteDifferencesCalls (#1327) (@sethaxen)
- Enzyme rules for
partialsort!
(#1373) (@jgreener64) - Identify and attempt fix for gc bug (#1386) (@wsmoses)
- Try narrowing inactive rules for
rand
(#1388) (@gaurav-arya) - Remove vararg tuple warning (#1395) (@wsmoses)
- [EnzymeTestUtils] Add rng keyword to testing functions and test with seed (#1398) (@sethaxen)
- stabilize default_adjoint (#1403) (@wsmoses)
- Null addr cast GC handler (#1404) (@wsmoses)
- Fix autodiff_deferred_thunk abi (#1412) (@wsmoses)
Closed issues:
- partition, type analysis mismatch (#880)
julia_type_rule
callback performance bottleneck (#1299)- Reverse-mode on complex function fails (#1319)
- Intimidating docs (#1344)
- Enzyme segfault (#1353)
- Type analysis depth limit / task switch not allowed from inside staged nor pure functions (#1354)
- Add more details to docs (#1355)
- Basic SparseMatrixCSC calculations do not work. (#1381)
- Overly broad inactive marker for Random.rand (#1387)
- Gradient returns all zeros (#1389)
- StackOverflowError depending on loaded packages (#1390)
- Julia crash on v1.7.3 with batch mutation of triangle of Hermitian array (#1394)
- EnzymeTestUtils nondeterminstic failure (#1397)
- enumerate not working in 0.12 (#1405)
v0.12.0
Enzyme v0.12.0
Merged pull requests:
- TA pass julia type info via param attr (#1300) (@wsmoses)
- Memoize typetree calls (#1302) (@vchuravy)
- add complex sqrt (#1324) (@wsmoses)
- Remove invariant loads on primal computation (#1325) (@wsmoses)
- Add Julia formatter (#1326) (@simsurace)
- Define
compiler_job_from_backend
(#1328) (@vchuravy) - Add FAQ section to docs (#1343) (@gdalle)
- Set
parallel
tofalse
ifparent_job
is notnothing
(#1348) (@giordano) - Bump Enzyme_jll to 0.0.103 (#1351) (@vchuravy)
- Skip intermittant builds (#1352) (@vchuravy)
- Use
make_zero
andRef
insidegradient
(#1356) (@mcabbott) - Add additional docs (#1357) (@wsmoses)
- Set type warning false by default (#1360) (@wsmoses)
- Fix assertion on nocapture llvm.enzymejl.sret (#1361) (@wsmoses)
- Fix CUDA tests (#1364) (@vchuravy)
- Support GPUCompiler 0.26 (#1365) (@vchuravy)
- Load Adapt unconditionally for Julia 1.8 (#1369) (@vchuravy)
- Backport EnzymeCore Adapt fix to 0.6 (#1374) (@vchuravy)
- Set development branch to 0.12 (#1375) (@vchuravy)
- Fix undefined memory in faq (#1376) (@wsmoses)
- Add differential use handler (#1377) (@wsmoses)
- Mark randn! as inactive (#1378) (@wsmoses)
- [EnzymeTestUtils] Mark 1.8 batch test as failing (#1379) (@wsmoses)
- Restore 1.9+ setfield (#1383) (@wsmoses)
- Update Project.toml (#1384) (@wsmoses)
Closed issues:
- Why does
Duplicated(x, dx)
assumex
anddx
have the same type? (#1329) - Forward over reverse for variadic function (#1336)
- gradient (and gradient!) fails on basic example (#1340)
- Warning with Flux.Bilinear (#1341)
- Matrix exponential fails (#1346)
- EnzymeTestUtils tests failing on main (#1349)
- Using Julia's LLVM and Enzyme.jl's artifacts to differentiate C code (#1367)
- Enzyme requests reverse rule on Const returns (#1380)
- Gradient returns wrong result for static arrays (#1382)