ADTypes.jl icon indicating copy to clipboard operation
ADTypes.jl copied to clipboard

Downstream updates tracker for v1.0

Open gdalle opened this issue 1 year ago • 9 comments

Which dependents must we upgrade to use ADTypes v1.0? Listed by topological order below:

  • [ ] SciMLBase:
    • https://github.com/SciML/SciMLBase.jl/pull/674
  • [x] OptimizationBase:
    • https://github.com/SciML/OptimizationBase.jl/issues/44
  • [ ] Optimization:
    • nothing for now
  • [x] SparseDiffTools:
    • https://github.com/JuliaDiff/SparseDiffTools.jl/pull/295
    • https://github.com/JuliaDiff/SparseDiffTools.jl/pull/296
    • still need to translate the old sparsity detection + coloring interface
  • [x] SimpleNonlinearSolve:
    • https://github.com/SciML/SimpleNonlinearSolve.jl/pull/143
  • [x] NonlinearSolve:
    • https://github.com/SciML/NonlinearSolve.jl/pull/426
  • [ ] Symbolics:
    • https://github.com/JuliaSymbolics/Symbolics.jl/pull/1134
  • [ ] OrdinaryDiffEq:
    • nothing for now
  • [ ] SciMLSensitivity:
    • nothing for now
  • [ ] BoundaryValueDiffEq:
    • https://github.com/SciML/BoundaryValueDiffEq.jl/pull/188

I only tick the ones for which ADTypes v0.2 is no longer in the compat bound (see my comment below)

gdalle avatar Apr 18 '24 10:04 gdalle

  • https://github.com/JuliaDiff/SparseDiffTools.jl/pull/294
  • https://github.com/SciML/Optimization.jl/pull/738
  • https://github.com/SciML/DiffEqFlux.jl/pull/918
  • https://github.com/SciML/OptimizationBase.jl/pull/37
  • https://github.com/SciML/SimpleNonlinearSolve.jl/pull/140
  • https://github.com/SciML/NonlinearSolve.jl/pull/412
  • https://github.com/SciML/SciMLSensitivity.jl/pull/1044
  • https://github.com/SciML/OrdinaryDiffEq.jl/pull/2172
  • https://github.com/SciML/DeepEquilibriumNetworks.jl/pull/150
  • https://github.com/SciML/BoundaryValueDiffEq.jl/pull/181

ChrisRackauckas avatar Apr 22 '24 09:04 ChrisRackauckas

Is it Christmas already?

gdalle avatar Apr 22 '24 09:04 gdalle

No, it's a Monday. That the list that needs work to update 😅

ChrisRackauckas avatar Apr 22 '24 09:04 ChrisRackauckas

For most of those, the huge breaking change will be bumping Julia compat up to 1.10. If that is accepted, the rest is a bunch of renamings that I can try to contribute little by little

gdalle avatar Apr 22 '24 10:04 gdalle

Since I'm not a member of SciML, I can only create new PRs, not update those from CompatHelper though

gdalle avatar Apr 22 '24 10:04 gdalle

Most should already be bumped to v1.10.

ChrisRackauckas avatar Apr 22 '24 10:04 ChrisRackauckas

I'm trying to do one of the harder upgrades with https://github.com/SciML/NonlinearSolve.jl/pull/426

Can someone make me a member of the NonlinearSolve repo, so that CI runs automatically on my commits? It's rather tedious to wait for maintainer approval. If you want I can also join the SciML organization if it makes things easier.

@avik-pal @Vaibhavdixit02 @ChrisRackauckas

gdalle avatar May 15 '24 09:05 gdalle

The CompatHelper PRs that were merged don't force ADTypes v1, since they still allow v0.2. As a result, most of them don't change anything, and ADTypes v0.2 is still the version picked by CI.

I think the right approach is to force ADTypes v1, so that we can see whether it breaks stuff or not. That's what I did in SparseDiffTools and NonlinearSolve.

However, a first step is to allow ADTypes non-exclusively everywhere so that downstream tests may run

gdalle avatar May 15 '24 14:05 gdalle

Most cases have very small usage of ADTypes. NonlinearSolve, SparseDiffTools, and BoundaryValueDiffEq are the three that require a deeper dive.

ChrisRackauckas avatar May 19 '24 20:05 ChrisRackauckas