You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DifferentiationInterface/README.md
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ This package provides a backend-agnostic syntax to differentiate functions of th
20
20
21
21
## Features
22
22
23
-
- First- and second-order operators
23
+
- First- and second-order operators (gradients, Jacobians, Hessians and [more](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterface/stable/overview/))
24
24
- In-place and out-of-place differentiation
25
25
- Preparation mechanism (e.g. to create a config or tape)
26
26
- Thorough validation on standard inputs and outputs (numbers, vectors, matrices)
@@ -68,19 +68,21 @@ julia> Pkg.add(
68
68
69
69
## Example
70
70
71
-
```jldoctest readme
72
-
julia> import ADTypes, ForwardDiff
73
-
74
-
julia> using DifferentiationInterface
71
+
```julia
72
+
using DifferentiationInterface
73
+
import ForwardDiff, Enzyme, Zygote # import automatic differentiation backends you want to use
For more performance, take a look at the [DifferentiationInterface tutorial](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterface/stable/tutorial/).
85
+
84
86
## Related packages
85
87
86
88
-[AbstractDifferentiation.jl](https://github.com/JuliaDiff/AbstractDifferentiation.jl) is the original inspiration for DifferentiationInterface.jl.
But once it is done, things run smoothly with exactly the same syntax:
123
132
124
-
```@repl tuto
133
+
```@example tuto
125
134
gradient(f, backend2, x)
126
135
```
127
136
@@ -136,4 +145,5 @@ And you can run the same benchmarks:
136
145
137
146
Not only is it blazingly fast, you achieved this speedup without looking at the docs of either ForwardDiff.jl or Enzyme.jl!
138
147
In short, DifferentiationInterface.jl allows for easy testing and comparison of AD backends.
139
-
If you want to go further, check out the [DifferentiationTest.jl tutorial](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterfaceTest/dev/tutorial/).
148
+
If you want to go further, check out the [DifferentiationInterfaceTest.jl tutorial](https://gdalle.github.io/DifferentiationInterface.jl/DifferentiationInterfaceTest/dev/tutorial/).
149
+
It provides benchmarking utilities to compare backends and help you select the one that is best suited for your problem.
0 commit comments