Skip to content

Commit 00bc4f9

Browse files
authored
Update citation and backend list (#342)
* Update citation and backend list * Fix link * Extrefs
1 parent 102fa86 commit 00bc4f9

4 files changed

Lines changed: 49 additions & 33 deletions

File tree

CITATION.bib

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
@software{Dalle_DifferentiationInterface_2024,
2+
title = {DifferentiationInterface.jl},
3+
author = {Dalle, Guillaume and Hill, Adrian},
4+
year = 2024,
5+
doi = {10.5281/zenodo.11092033},
6+
url = {https://github.com/gdalle/DifferentiationInterface.jl}
7+
}
8+
9+
@article{Schafer_AbstractDifferentiation_2021,
10+
title = {AbstractDifferentiation.jl: Backend-Agnostic Differentiable Programming in Julia},
11+
author = {Sch{\"a}fer, Frank and Tarek, Mohamed and White, Lyndon and Rackauckas, Chris},
12+
journal = {NeurIPS 2021 Differentiable Programming Workshop},
13+
year = {2021},
14+
url = {https://github.com/JuliaDiff/AbstractDifferentiation.jl}
15+
}

CITATION.cff

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

DifferentiationInterface/README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ value_and_gradient(f, AutoZygote(), x) # returns (5.0, [2.0, 4.0]) with Zyg
8686

8787
To improve your performance by up to several orders of magnitude compared to this example, take a look at the [DifferentiationInterface tutorial](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterface/stable/tutorial1/) and its section on operator preparation.
8888

89-
## Related packages
89+
## Citation
9090

91-
- [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl) is the original inspiration for DifferentiationInterface.jl.
92-
- [AutoDiffOperators.jl](https://github.com/oschulz/AutoDiffOperators.jl) is an attempt to bridge ADTypes.jl with AbstractDifferentiation.jl.
91+
Please cite both DifferentiationInterface.jl and its inspiration [AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl), using the provided `CITATION.bib` file.

DifferentiationInterface/docs/src/backends.md

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,37 @@ This page is about the latter, check out [that page](@ref "Operators") to learn
55

66
## List of backends
77

8-
We support all dense backend choices from [ADTypes.jl](https://github.com/SciML/ADTypes.jl), as well as their sparse wrapper [`AutoSparse`](@extref ADTypes.AutoSparse).
8+
We support all dense backend choices from [ADTypes.jl](https://github.com/SciML/ADTypes.jl):
9+
10+
- [`AutoDiffractor`](@extref ADTypes.AutoDiffractor)
11+
- [`AutoEnzyme`](@extref ADTypes.AutoEnzyme)
12+
- [`AutoFastDifferentiation`](@extref ADTypes.AutoFastDifferentiation)
13+
- [`AutoFiniteDiff`](@extref ADTypes.AutoFiniteDiff)
14+
- [`AutoFiniteDifferences`](@extref ADTypes.AutoFiniteDifferences)
15+
- [`AutoForwardDiff`](@extref ADTypes.AutoForwardDiff)
16+
- [`AutoPolyesterForwardDiff`](@extref ADTypes.AutoPolyesterForwardDiff)
17+
- [`AutoReverseDiff`](@extref ADTypes.AutoReverseDiff)
18+
- [`AutoSymbolics`](@extref ADTypes.AutoSymbolics)
19+
- [`AutoTapir`](@extref ADTypes.AutoTapir)
20+
- [`AutoTracker`](@extref ADTypes.AutoTracker)
21+
- [`AutoZygote`](@extref ADTypes.AutoZygote)
22+
23+
We also support the sparse wrapper [`AutoSparse`](@extref ADTypes.AutoSparse).
24+
25+
## Compatibility
26+
27+
DifferentiationInterface.jl itself is compatible with Julia 1.6, the Long Term Support (LTS) version of the language.
28+
However, we were only able to test the following backends on Julia 1.6:
29+
30+
- `AutoFiniteDifferences`
31+
- `AutoForwardDiff`
32+
- `AutoReverseDiff`
33+
- `AutoTracker`
34+
- `AutoZygote`
35+
36+
We strongly recommend that users upgrade to Julia 1.10 or above, where all backends are tested.
37+
38+
## Features
939

1040
```@setup backends
1141
using ADTypes
@@ -52,7 +82,7 @@ println(io, "| Backend | Availability | Two-argument functions | Hessian support
5282
println(io, "|:--------|:------------:|:----------------------:|:---------------:|")
5383
5484
for b in backend_examples
55-
join(io, ["[`$(nameof(typeof(b)))`](@extref ADTypes)", unicode_check_available(b), unicode_check_twoarg(b), unicode_check_hessian(b)], '|')
85+
join(io, ["`$(nameof(typeof(b)))`", unicode_check_available(b), unicode_check_twoarg(b), unicode_check_hessian(b)], '|')
5686
println(io, '|' )
5787
end
5888
backend_table = Markdown.parse(String(take!(io)))
@@ -62,21 +92,6 @@ backend_table = Markdown.parse(String(take!(io)))
6292
backend_table #hide
6393
```
6494

65-
## Compatibility
66-
67-
DifferentiationInterface.jl itself is compatible with Julia 1.6, the Long Term Support (LTS) version of the language.
68-
However, we were only able to test the following backends on Julia 1.6:
69-
70-
- FiniteDifferences.jl
71-
- ForwardDiff.jl
72-
- ReverseDiff.jl
73-
- Tracker.jl
74-
- Zygote.jl
75-
76-
We strongly recommend that users upgrade to Julia 1.10, where all backends are tested.
77-
78-
## Checks
79-
8095
### Availability
8196

8297
You can use [`check_available`](@ref) to verify whether a given backend is loaded.

0 commit comments

Comments
 (0)