Skip to content

Commit 66007e0

Browse files
authored
Switch to DifferentiationInterface (#135)
* Switch to DifferentiationInterface * Fix more stuff * Fix tests and start Enzyme * More tests * Fix ENzyme * Update docs * Select tag and chunksize for AutoForwardDiff * Right chunksize
1 parent b70edec commit 66007e0

29 files changed

Lines changed: 831 additions & 1453 deletions

.github/workflows/CI.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
version: ['1.6', '1']
21+
version: ['1.10', '1']
2222
os: [ubuntu-latest]
2323
arch: [x64]
2424
allow_failure: [false]
2525
steps:
2626
- uses: actions/checkout@v4
27-
- uses: julia-actions/setup-julia@v1
27+
- uses: julia-actions/setup-julia@v2
2828
with:
2929
version: ${{ matrix.version }}
3030
arch: ${{ matrix.arch }}
@@ -45,7 +45,7 @@ jobs:
4545
runs-on: ubuntu-latest
4646
steps:
4747
- uses: actions/checkout@v4
48-
- uses: julia-actions/setup-julia@v1
48+
- uses: julia-actions/setup-julia@v2
4949
with:
5050
version: '1'
5151
- uses: julia-actions/cache@v1

CITATION.bib

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ @misc{ImplicitDifferentiation.jl
22
author = {Guillaume Dalle, Mohamed Tarek and contributors},
33
title = {ImplicitDifferentiation.jl},
44
url = {https://github.com/gdalle/ImplicitDifferentiation.jl},
5-
version = {v0.5.0},
6-
year = {2023},
7-
month = {8}
5+
version = {v0.6.0},
6+
year = {2024},
7+
month = {4}
88
}

Project.toml

Lines changed: 35 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,73 @@
11
name = "ImplicitDifferentiation"
22
uuid = "57b37032-215b-411a-8a7c-41a003a55207"
33
authors = ["Guillaume Dalle", "Mohamed Tarek and contributors"]
4-
version = "0.5.2"
4+
version = "0.6.0"
55

66
[deps]
7-
AbstractDifferentiation = "c29ec348-61ec-40c8-8164-b8c60e9d9f3d"
8-
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
7+
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
8+
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
99
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
1010
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
1111
LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125"
12-
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
13-
Requires = "ae029012-a4dd-5104-9daa-d747884805df"
14-
SimpleUnPack = "ce78b400-467f-4804-87d8-8f486da07d0a"
1512

1613
[weakdeps]
1714
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
15+
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
1816
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
19-
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
20-
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
2117

2218
[extensions]
2319
ImplicitDifferentiationChainRulesCoreExt = "ChainRulesCore"
20+
ImplicitDifferentiationEnzymeExt = "Enzyme"
2421
ImplicitDifferentiationForwardDiffExt = "ForwardDiff"
25-
ImplicitDifferentiationStaticArraysExt = "StaticArrays"
26-
ImplicitDifferentiationZygoteExt = "Zygote"
2722

2823
[compat]
29-
AbstractDifferentiation = "0.5, 0.6"
30-
ChainRulesCore = "1.14"
31-
ForwardDiff = "0.10"
32-
Krylov = "0.8, 0.9"
33-
LinearAlgebra = "1.6"
34-
LinearOperators = "2.2"
35-
PrecompileTools = "1.1"
36-
Requires = "1.3"
37-
SimpleUnPack = "1.1"
38-
StaticArrays = "1.6"
39-
Zygote = "0.6"
40-
julia = "1.6"
24+
ChainRulesCore = "1.23.0"
25+
Enzyme = "0.11.20"
26+
ForwardDiff = "0.10.36"
27+
Krylov = "0.9.5"
28+
LinearAlgebra = "1.10"
29+
LinearOperators = "2.7.0"
30+
julia = "1.10"
4131

4232
[extras]
33+
ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b"
4334
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
4435
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
4536
ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a"
4637
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
38+
DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63"
4739
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
48-
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
40+
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
4941
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
5042
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
5143
JuliaFormatter = "98e50ef6-434e-11e9-1051-2b60c6c9e899"
5244
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
5345
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
5446
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
55-
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
5647
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
57-
ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267"
5848
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
5949
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
6050
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
6151
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"
6252

6353
[targets]
64-
test = ["Aqua", "ChainRulesCore", "ChainRulesTestUtils", "ComponentArrays", "Documenter", "FiniteDifferences", "ForwardDiff", "JET", "JuliaFormatter", "NLsolve", "Optim", "Pkg", "Random", "ReverseDiff", "SparseArrays", "StaticArrays", "Test", "Zygote"]
54+
test = [
55+
"ADTypes",
56+
"Aqua",
57+
"ChainRulesCore",
58+
"ChainRulesTestUtils",
59+
"ComponentArrays",
60+
"DifferentiationInterface",
61+
"Documenter",
62+
"Enzyme",
63+
"ForwardDiff",
64+
"JET",
65+
"JuliaFormatter",
66+
"NLsolve",
67+
"Optim",
68+
"Random",
69+
"SparseArrays",
70+
"StaticArrays",
71+
"Test",
72+
"Zygote",
73+
]

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ Please read the [documentation](https://gdalle.github.io/ImplicitDifferentiation
4949

5050
In Julia:
5151

52+
- [SciML](https://sciml.ai/) ecosystem, especially [LinearSolve.jl](https://github.com/SciML/LinearSolve.jl), [NonlinearSolve.jl](https://github.com/SciML/NonlinearSolve.jl) and [Optimization.jl](https://github.com/SciML/Optimization.jl)
5253
- [jump-dev/DiffOpt.jl](https://github.com/jump-dev/DiffOpt.jl): differentiation of convex optimization problems
5354
- [axelparmentier/InferOpt.jl](https://github.com/axelparmentier/InferOpt.jl): approximate differentiation of combinatorial optimization problems
5455
- [JuliaNonconvex/NonconvexUtils.jl](https://github.com/JuliaNonconvex/NonconvexUtils.jl): contains the original implementation from which this package drew inspiration

benchmark/Project.toml

Lines changed: 0 additions & 13 deletions
This file was deleted.

benchmark/analysis.jl

Lines changed: 0 additions & 168 deletions
This file was deleted.

0 commit comments

Comments
 (0)