Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New release broke DifferentiationInterface #290

Open
gdalle opened this issue Apr 9, 2024 · 8 comments
Open

New release broke DifferentiationInterface #290

gdalle opened this issue Apr 9, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@oxinabox
Copy link
Member

oxinabox commented Apr 9, 2024

I think that is actually a bug in Diffractor introduced by this change, unintentionally.
We should isolate and fix it, and add a test of our own for the at case.

The API remains the same, that code should still work and it looks like it does (until it hits this bug in map)

@gdalle
Copy link
Member Author

gdalle commented Apr 9, 2024

Sounds good! I think DifferentiationInterface might have accidentally become PkgEval for AD ^^

@gdalle
Copy link
Member Author

gdalle commented Apr 10, 2024

Actually the problem is already in v0.2.7, but not in v0.2.6

@oxinabox oxinabox added the bug Something isn't working label Apr 12, 2024
@gdalle
Copy link
Member Author

gdalle commented May 28, 2024

Hey @oxinabox, friendly ping on this one. At the moment I need to freeze the Diffractor version in the DifferentiationInterface compat bounds, which might prevent people from testing your latest improvements

@gdalle
Copy link
Member Author

gdalle commented Jun 20, 2024

Bumping this one since it makes Diffractor unusable with DifferentiationInterface, see for instance JuliaDiff/DifferentiationInterface.jl#324
@Keno do you have any clue? I fear Frames might be too busy for this one at the moment

@oxinabox
Copy link
Member

sorry this has been sitting on my todo for ages. I will try and take a look tomorrow or monday

@gdalle
Copy link
Member Author

gdalle commented Jun 20, 2024

No rush at all. I just thought it could be nice for the Tapir people who want to try Diffractor over Tapir. DI makes it significantly easier, but there's no time pressure so don't stress 😊

@gdalle
Copy link
Member Author

gdalle commented Nov 15, 2024

Since the CI logs expired, here's a copypaste from a recent one:

MethodError: no method matching (Diffractor.FwdMap{false, E, T} where {E, T<:(Diffractor.AbstractTangentBundle{false})})(::Diffractor.TangentBundle{1, typeof(sin), Diffractor.TaylorTangent{Tuple{NoTangent}}})
  Stacktrace:
    [1] (::Diffractor.∂☆{1, false})(zc::Diffractor.TangentBundle{1, typeof(copy), Diffractor.UniformTangent{NoTangent}}, bc::Diffractor.TangentBundle{1, Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(sin), Tuple{Matrix{Float64}}}, Diffractor.TaylorTangent{Tuple{Tangent{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{2}, Tuple{Base.OneTo{Int64}, Base.OneTo{Int64}}, typeof(sin), Tuple{Matrix{Float64}}}, @NamedTuple{style::NoTangent, f::NoTangent, args::Tangent{Tuple{Matrix{Float64}}, Tuple{Matrix{Float64}}}, axes::NoTangent}}}}})
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:114 [inlined]
   [27] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1669 [inlined]
   [28] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:112 [inlined]
   [29] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1669 [inlined]
   [30] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:109 [inlined]
   [31] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [32] test_differentiation(backends::Vector{AutoDiffractor}, scenarios::Vector{Scenario}; correctness::Bool, type_stability::Symbol, allocations::Symbol, benchmark::Symbol, excluded::Vector{Symbol}, detailed::Bool, logging::Bool, isapprox::Function, atol::Int64, rtol::Float64, scenario_intact::Bool, sparsity::Bool, ignored_modules::Nothing, function_filter::DifferentiationInterfaceTest.var"#620#627", skip_allocations::Bool, count_calls::Bool, benchmark_test::Bool)
      @ DifferentiationInterfaceTest ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:109
   [33] test_differentiation
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:83 [inlined]
   [34] #test_differentiation#628
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterfaceTest/src/test_differentiation.jl:196 [inlined]
   [35] top-level scope
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/Back/ChainRulesBackends/diffractor.jl:13
   [36] include(fname::String)
      @ Base.MainInclude ./client.jl:494
   [37] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/runtests.jl:49 [inlined]
   [38] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1669 [inlined]
   [39] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/runtests.jl:44 [inlined]
   [40] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [41] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/runtests.jl:44 [inlined]
   [42] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [43] macro expansion
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/runtests.jl:43 [inlined]
   [44] macro expansion
      @ /opt/hostedtoolcache/julia/1.10.6/x64/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined]
   [45] top-level scope
      @ ~/work/DifferentiationInterface.jl/DifferentiationInterface.jl/DifferentiationInterface/test/runtests.jl:26
   [46] include(fname::String)
      @ Base.MainInclude ./client.jl:494
   [47] top-level scope
      @ none:6
   [48] eval
      @ ./boot.jl:385 [inlined]
   [49] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [50] _start()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants