Skip to content
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/Test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
- FiniteDifferences
- ForwardDiff
- GTPSA
- HyperHessians
- Mooncake
- Mooncake-old
- PolyesterForwardDiff
Expand Down
5 changes: 4 additions & 1 deletion DifferentiationInterface/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c"
Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9"
EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869"
FastDifferentiation = "eb9bf01b-bf85-4b60-bf87-ee5de06c00be"
HyperHessians = "06b494a0-c8e0-40cc-ad32-d99506a00a6c"
Comment thread
gdalle marked this conversation as resolved.
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
Expand All @@ -40,6 +41,7 @@ DifferentiationInterfaceFiniteDiffExt = "FiniteDiff"
DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences"
DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"]
DifferentiationInterfaceGPUArraysCoreExt = ["GPUArraysCore", "Adapt"]
DifferentiationInterfaceHyperHessiansExt = "HyperHessians"
DifferentiationInterfaceGTPSAExt = "GTPSA"
DifferentiationInterfaceMooncakeExt = "Mooncake"
DifferentiationInterfacePolyesterForwardDiffExt = [
Expand All @@ -58,7 +60,7 @@ DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"]

[compat]
Adapt = "4.5.0"
ADTypes = "1.18.0"
ADTypes = "1.22.0"
ChainRulesCore = "1.23.0"
DiffResults = "1.1.0"
Diffractor = "=0.2.6"
Expand All @@ -70,6 +72,7 @@ FiniteDifferences = "0.12.31"
ForwardDiff = "0.10.36,1"
GPUArraysCore = "0.2"
GTPSA = "1.4.0"
HyperHessians = "0.2"
LinearAlgebra = "1"
Mooncake = "0.5.1"
PolyesterForwardDiff = "0.1.2"
Expand Down
1 change: 1 addition & 0 deletions DifferentiationInterface/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ We support the following backends defined by [ADTypes.jl](https://github.com/Sci
- [FiniteDiff.jl](https://github.com/JuliaDiff/FiniteDiff.jl)
- [FiniteDifferences.jl](https://github.com/JuliaDiff/FiniteDifferences.jl)
- [ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl)
- [HyperHessians.jl](https://github.com/KristofferC/HyperHessians.jl)
- [GTPSA.jl](https://github.com/bmad-sim/GTPSA.jl)
- [Mooncake.jl](https://github.com/chalk-lab/Mooncake.jl)
- [PolyesterForwardDiff.jl](https://github.com/JuliaDiff/PolyesterForwardDiff.jl)
Expand Down
2 changes: 2 additions & 0 deletions DifferentiationInterface/docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterInterLinks = "d12716ef-a0f6-4df4-a9f1-a5a34e75c656"
FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
HyperHessians = "06b494a0-c8e0-40cc-ad32-d99506a00a6c"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Expand All @@ -21,6 +22,7 @@ Documenter = "1"
DocumenterInterLinks = "1.1"
FiniteDiff = "2.29"
ForwardDiff = "1.2.2"
HyperHessians = "0.2"
PrettyTables = "3.1"
SparseConnectivityTracer = "1.1.2"
SparseMatrixColorings = "0.4.23"
Expand Down
7 changes: 5 additions & 2 deletions DifferentiationInterface/docs/src/explanation/backends.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ We support the following dense backend choices from [ADTypes.jl](https://github.
- [`AutoFiniteDifferences`](@extref ADTypes.AutoFiniteDifferences)
- [`AutoForwardDiff`](@extref ADTypes.AutoForwardDiff)
- [`AutoGTPSA`](@extref ADTypes.AutoGTPSA)
- [`AutoHyperHessians`](@extref ADTypes.AutoHyperHessians)
- [`AutoMooncake`](@extref ADTypes.AutoMooncake) and [`AutoMooncakeForward`](@extref ADTypes.AutoMooncake) (the latter is experimental)
- [`AutoPolyesterForwardDiff`](@extref ADTypes.AutoPolyesterForwardDiff)
- [`AutoReverseDiff`](@extref ADTypes.AutoReverseDiff)
Expand All @@ -32,11 +33,11 @@ In practice, many AD backends have custom implementations for high-level operato
!!! details

In the rough summary table below,

- ✅ means that we reuse the custom implementation from the backend;
- ❌ means that a custom implementation doesn't exist, so we use our default fallbacks;
- 🔀 means it's complicated or not done yet.

| | `pf` | `pb` | `der` | `grad` | `jac` | `hess` | `hvp` | `der2` |
|:-------------------------- |:---- |:---- |:----- |:------ |:----- |:------ |:----- |:------ |
| `AutoChainRules` | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Expand All @@ -48,6 +49,7 @@ In practice, many AD backends have custom implementations for high-level operato
| `AutoFiniteDifferences` | 🔀 | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
| `AutoForwardDiff` | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| `AutoGTPSA` | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
| `AutoHyperHessians` | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
| `AutoMooncake` | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| `AutoMooncakeForward` | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| `AutoPolyesterForwardDiff` | 🔀 | ❌ | 🔀 | ✅ | ✅ | 🔀 | 🔀 | 🔀 |
Expand All @@ -69,6 +71,7 @@ Moreover, each context type is supported by a specific subset of backends:
| `AutoFiniteDifferences` | ✅ | ✅ |
| `AutoForwardDiff` | ✅ | ✅ |
| `AutoGTPSA` | ✅ | ❌ |
| `AutoHyperHessians` | ✅ | ❌ |
Comment thread
gdalle marked this conversation as resolved.
Outdated
| `AutoMooncake` | ✅ | ✅ |
| `AutoMooncakeForward` | ✅ | ✅ |
| `AutoPolyesterForwardDiff` | ✅ | ✅ |
Expand Down
Loading
Loading