Skip to content

Commit

Permalink
Add second forward output and autodiff backend extensions (#40)
Browse files Browse the repository at this point in the history
* Restructure with extensions for ForwardDiff and Enzyme

* Some fixes

* Bump version

* Double output everywhere

* Fix pullback due to tuple output

* Avoid code duplication

* Move chainrules machinery to extension, remove Enzyme

* Redo documentation and add first complete tutorial

* Re-add tests on earlier versions

* Not strict docs

* Build on PR

* Add link to stable doc

* Allow CI failures on nightly

* Repopulate docs

* Fix tests on 1.6

* Fix typo in docs
  • Loading branch information
gdalle authored May 8, 2023
1 parent 05ff9b7 commit c6c8fc2
Show file tree
Hide file tree
Showing 25 changed files with 888 additions and 827 deletions.
20 changes: 11 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ on:
push:
branches:
- main
tags: '*'
tags:
- '*'
pull_request:
concurrency:
# Skip intermediate builds: always.
Expand All @@ -17,14 +18,15 @@ jobs:
strategy:
fail-fast: false
matrix:
version:
- '1.7'
- '1.8'
- '~1.9.0-0'
os:
- ubuntu-latest
arch:
- x64
version: ['1.6', '1']
os: [ubuntu-latest]
arch: [x64]
allow_failure: [false]
include:
- version: 'nightly'
os: ubuntu-latest
arch: x64
allow_failure: true
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
*.jl.mem
/Manifest.toml
/docs/build/
docs/src/examples/*.md
docs/src/examples/*.md
test/playground.jl
4 changes: 2 additions & 2 deletions CITATION.bib
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ @misc{ImplicitDifferentiation.jl
author = {Guillaume Dalle, Mohamed Tarek and contributors},
title = {ImplicitDifferentiation.jl},
url = {https://github.com/gdalle/ImplicitDifferentiation.jl},
version = {v0.3.0},
version = {v0.4.0},
year = {2023},
month = {3}
month = {4}
}
29 changes: 17 additions & 12 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,44 +1,49 @@
name = "ImplicitDifferentiation"
uuid = "57b37032-215b-411a-8a7c-41a003a55207"
authors = ["Guillaume Dalle", "Mohamed Tarek and contributors"]
version = "0.3.0"
version = "0.4.0"

[deps]
AbstractDifferentiation = "c29ec348-61ec-40c8-8164-b8c60e9d9f3d"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125"
Requires = "ae029012-a4dd-5104-9daa-d747884805df"

[compat]
AbstractDifferentiation = "0.5"
ChainRulesCore = "1.14"
ForwardDiff = "0.10"
Krylov = "0.8, 0.9"
LinearOperators = "2.2"
julia = "1.7"
Requires = "1.3"
julia = "1.6"

[extensions]
ImplicitDifferentiationChainRulesExt = "ChainRulesCore"
ImplicitDifferentiationForwardDiffExt = "ForwardDiff"

[extras]
Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a"
ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66"
Convex = "f65535da-76fb-5f13-bab9-19810c17039a"
Distances = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
ForwardDiffChainRules = "c9556dd2-1aed-4cfe-8560-1557cf593001"
JET = "c3a54625-cd67-489e-a8e7-0a5a0ff4e31b"
JuliaFormatter = "98e50ef6-434e-11e9-1051-2b60c6c9e899"
Krylov = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LinearOperators = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125"
MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
MathOptSetDistances = "3b969827-a86c-476c-9527-bb6f1a8fbad5"
NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56"
Optim = "429524aa-4258-5aef-a3af-852621145aeb"
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SCS = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f"

[targets]
test = ["Aqua", "ChainRulesCore", "ChainRulesTestUtils", "ComponentArrays", "Convex", "Distances", "Documenter", "FiniteDifferences", "ForwardDiff", "ForwardDiffChainRules", "JET", "JuliaFormatter", "LinearAlgebra", "LinearOperators", "MathOptInterface", "MathOptSetDistances", "Optim", "Pkg", "Random", "SCS", "SparseArrays", "Test", "Zygote"]
test = ["Aqua", "ChainRulesCore", "ChainRulesTestUtils", "Documenter", "ForwardDiff", "JET", "JuliaFormatter", "LinearAlgebra", "NLsolve", "Optim", "Pkg", "Random", "SparseArrays", "Test", "Zygote"]

[weakdeps]
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ImplicitDifferentiation.jl

<!-- [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://gdalle.github.io/ImplicitDifferentiation.jl/stable) -->
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://gdalle.github.io/ImplicitDifferentiation.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://gdalle.github.io/ImplicitDifferentiation.jl/dev)
[![Build Status](https://github.com/gdalle/ImplicitDifferentiation.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/gdalle/ImplicitDifferentiation.jl/actions/workflows/CI.yml?query=branch%3Amain)
[![Coverage](https://codecov.io/gh/gdalle/ImplicitDifferentiation.jl/branch/main/graph/badge.svg)](https://codecov.io/gh/gdalle/ImplicitDifferentiation.jl)
Expand Down
Loading

0 comments on commit c6c8fc2

Please sign in to comment.