Skip to content

Commit 2472ecc

Browse files
Merge branch 'JuliaDiff:main' into develop
2 parents e543958 + ef77d13 commit 2472ecc

62 files changed

Lines changed: 2086 additions & 1601 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CITATION.cff

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,16 @@ references:
6060
preferred-citation:
6161
type: generic
6262
authors:
63-
- family-names: "Hill"
64-
given-names: "Adrian"
65-
orcid: "https://orcid.org/0009-0009-5977-301X"
6663
- family-names: "Dalle"
6764
given-names: "Guillaume"
6865
orcid: "https://orcid.org/0000-0003-4866-1687"
69-
title: "Sparser, Better, Faster, Stronger: Efficient Automatic Differentiation for Sparse Jacobians and Hessians"
66+
- family-names: "Hill"
67+
given-names: "Adrian"
68+
orcid: "https://orcid.org/0009-0009-5977-301X"
69+
title: "A Common Interface for Automatic Differentiation"
7070
year: 2025
71-
eprint: "2501.17737"
71+
eprint: "2505.05542"
7272
archivePrefix: "arXiv"
73-
primaryClass: "cs.LG"
74-
url: "https://arxiv.org/abs/2501.17737"
75-
doi: "10.48550/arXiv.2501.17737"
73+
primaryClass: "cs.MS"
74+
url: "https://arxiv.org/abs/2505.05542"
75+
doi: "10.48550/arXiv.2505.05542"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
## [0.7.0]
11+
12+
### Changed
13+
14+
- Preparation is now strict by default ([#799])
15+
- New Arxiv preprint for citation ([#795])
16+
17+
## [0.6.54] - 2025-05-11
18+
19+
### Added
20+
21+
- Dependency compat bounds for extras ([#790])
22+
- Error hints for Enzyme ([#788])
23+
24+
## [0.6.53] - 2025-05-07
25+
26+
### Changed
27+
28+
- Allocate Enzyme shadow memory during preparation ([#782])
29+
30+
[unreleased]: https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.7.0...main
31+
[0.7.0]: https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.6.54...DifferentiationInterface-v0.7.0
32+
[0.6.54]: https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.6.53...DifferentiationInterface-v0.6.54
33+
[0.6.53]: https://github.com/JuliaDiff/DifferentiationInterface.jl/compare/DifferentiationInterface-v0.6.52...DifferentiationInterface-v0.6.53
34+
35+
[#799]: https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/799
36+
[#795]: https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/795
37+
[#790]: https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/790
38+
[#788]: https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/788
39+
[#782]: https://github.com/JuliaDiff/DifferentiationInterface.jl/pull/782

DifferentiationInterface/Project.toml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "DifferentiationInterface"
22
uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
33
authors = ["Guillaume Dalle", "Adrian Hill"]
4-
version = "0.6.52"
4+
version = "0.7.0"
55

66
[deps]
77
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
@@ -52,11 +52,14 @@ DifferentiationInterfaceTrackerExt = "Tracker"
5252
DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"]
5353

5454
[compat]
55+
Aqua = "0.8.12"
5556
ADTypes = "1.13.0"
5657
ChainRulesCore = "1.23.0"
58+
ComponentArrays = "0.15.27"
59+
DataFrames = "1.7.0"
5760
DiffResults = "1.1.0"
5861
Diffractor = "=0.2.6"
59-
Enzyme = "0.13.17"
62+
Enzyme = "0.13.39"
6063
EnzymeCore = "0.8.8"
6164
ExplicitImports = "1.10.1"
6265
FastDifferentiation = "0.4.3"
@@ -65,16 +68,22 @@ FiniteDifferences = "0.12.31"
6568
ForwardDiff = "0.10.36,1"
6669
GPUArraysCore = "0.2"
6770
GTPSA = "1.4.0"
68-
JuliaFormatter = "1"
69-
LinearAlgebra = "<0.0.1,1"
71+
JET = "0.9"
72+
JLArrays = "0.2.0"
73+
JuliaFormatter = "1,2"
74+
LinearAlgebra = "1"
7075
Mooncake = "0.4.88"
76+
Pkg = "1"
7177
PolyesterForwardDiff = "0.1.2"
78+
Random = "1"
7279
ReverseDiff = "1.15.1"
73-
SparseArrays = "<0.0.1,1"
80+
SparseArrays = "1"
7481
SparseConnectivityTracer = "0.6.14"
7582
SparseMatrixColorings = "0.4.9"
83+
StableRNGs = "1.0.1"
7684
StaticArrays = "1.9.7"
7785
Symbolics = "5.27.1, 6"
86+
Test = "1"
7887
Tracker = "0.2.33"
7988
Zygote = "0.6.69, 0.7"
8089
julia = "1.10"

DifferentiationInterface/README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ We support the following backends defined by [ADTypes.jl](https://github.com/Sci
3838
- [FiniteDifferences.jl](https://github.com/JuliaDiff/FiniteDifferences.jl)
3939
- [ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl)
4040
- [GTPSA.jl](https://github.com/bmad-sim/GTPSA.jl)
41-
- [Mooncake.jl](https://github.com/compintell/Mooncake.jl)
41+
- [Mooncake.jl](https://github.com/chalk-lab/Mooncake.jl)
4242
- [PolyesterForwardDiff.jl](https://github.com/JuliaDiff/PolyesterForwardDiff.jl)
4343
- [ReverseDiff.jl](https://github.com/JuliaDiff/ReverseDiff.jl)
4444
- [Symbolics.jl](https://github.com/JuliaSymbolics/Symbolics.jl)
@@ -90,18 +90,22 @@ To improve your performance by up to several orders of magnitude compared to thi
9090

9191
## Citation
9292

93-
Whenever you refer to this package or the ideas it contains, please cite our preprint [*Sparser, Better, Faster, Stronger: Efficient Automatic Differentiation for Sparse Jacobians and Hessians*](https://arxiv.org/abs/2501.17737) and DifferentiationInterface.jl's inspiration [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl).
93+
Whenever you refer to this package or the ideas it contains, please cite:
94+
95+
1. our preprint [*A Common Interface for Automatic Differentiation*](https://arxiv.org/abs/2505.05542);
96+
2. our inspiration [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl).
97+
9498
You can use the provided [`CITATION.cff`](https://github.com/JuliaDiff/DifferentiationInterface.jl/blob/main/CITATION.cff) file or the following BibTeX entries:
9599

96-
```bibtex
97-
@misc{hill2025sparserbetterfasterstronger,
98-
title={Sparser, Better, Faster, Stronger: Efficient Automatic Differentiation for Sparse Jacobians and Hessians},
99-
author={Adrian Hill and Guillaume Dalle},
100+
```bibtex
101+
@misc{dalle2025commoninterfaceautomaticdifferentiation,
102+
title={A Common Interface for Automatic Differentiation},
103+
author={Guillaume Dalle and Adrian Hill},
100104
year={2025},
101-
eprint={2501.17737},
105+
eprint={2505.05542},
102106
archivePrefix={arXiv},
103-
primaryClass={cs.LG},
104-
url={https://arxiv.org/abs/2501.17737},
107+
primaryClass={cs.MS},
108+
url={https://arxiv.org/abs/2505.05542},
105109
}
106110
107111
@misc{schäfer2022abstractdifferentiationjlbackendagnosticdifferentiableprogramming,

DifferentiationInterface/ext/DifferentiationInterfaceEnzymeExt/DifferentiationInterfaceEnzymeExt.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ using EnzymeCore:
3030
Split,
3131
WithPrimal
3232
using Enzyme:
33+
Enzyme,
3334
autodiff,
3435
autodiff_thunk,
3536
create_shadows,
@@ -53,4 +54,6 @@ include("forward_twoarg.jl")
5354
include("reverse_onearg.jl")
5455
include("reverse_twoarg.jl")
5556

57+
include("init.jl")
58+
5659
end # module

0 commit comments

Comments
 (0)