JuliaDiff / SparseDiffTools.jl

Fast jacobian computation through sparsity exploitation and matrix coloring
MIT License
238 stars 41 forks source link

formatting and style #73

Closed matbesancon closed 4 years ago

matbesancon commented 4 years ago

No content change in this PR, mostly ensuring the docs are sync with the signatures.

matbesancon commented 4 years ago

Can't get tests to pass, the Zygote import seems guilty:

Test Summary:    | Pass  Total
Special matrices |   87     87
  2.783490 seconds (6.67 M allocations: 326.219 MiB, 5.43% gc time)
WARNING: could not import ZygoteRules._forward into Zygote
ERROR: LoadError: LoadError: Non-differentiable function mul_int
Stacktrace:
 [1] error(::String) at ./error.jl:33
 [2] macro expansion at ./none:0 [inlined]
 [3] (::typeof(∂(λ)))(::Int64) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/compiler/interface2.jl:19
 [4] * at ./int.jl:54 [inlined]
 [5] (::typeof(∂(*)))(::Int64) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/compiler/interface2.jl:0
 [6] pow at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/precompile.jl:7 [inlined]
 [7] (::typeof(∂(pow)))(::Int64) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/compiler/interface2.jl:0
 [8] (::getfield(Zygote, Symbol("##32#33")){typeof(∂(pow))})(::Int64) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/compiler/interface.jl:38
 [9] gradient(::Function, ::Int64, ::Vararg{Int64,N} where N) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/compiler/interface.jl:47
 [10] top-level scope at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/precompile.jl:19
 [11] include at ./boot.jl:328 [inlined]
 [12] include_relative(::Module, ::String) at ./loading.jl:1094
 [13] include at ./Base.jl:31 [inlined]
 [14] include(::String) at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/Zygote.jl:1
 [15] top-level scope at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/Zygote.jl:45
 [16] include at ./boot.jl:328 [inlined]
 [17] include_relative(::Module, ::String) at ./loading.jl:1094
 [18] include(::Module, ::String) at ./Base.jl:31
 [19] top-level scope at none:2
 [20] eval at ./boot.jl:330 [inlined]
 [21] eval(::Expr) at ./client.jl:432
 [22] top-level scope at ./none:3
in expression starting at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/precompile.jl:19
in expression starting at /home/mbesancon/.julia/packages/Zygote/bdE6T/src/Zygote.jl:45
Jac Vecs and Hes Vecs: Error During Test at /home/mbesancon/.julia/packages/SafeTestsets/A83XK/src/SafeTestsets.jl:25
  Got exception outside of a @test
  LoadError: Failed to precompile Zygote [e88e6eb3-aa80-5325-afca-941959d7151f] to /home/mbesancon/.julia/compiled/v1.2/Zygote/4kbLI.ji.
  Stacktrace:
ChrisRackauckas commented 4 years ago

Tests fail and it doesn't seem due to Zygote.

matbesancon commented 4 years ago

test_ad.jl seemed broken (recursing without end?), merging the latest fix from master seems to have fixed it

matbesancon commented 4 years ago

that's odd, the PR seems on hold on Travis, but the github action is frozen / failed (even though Travis hasn't received the job)

ChrisRackauckas commented 4 years ago

It's just in queue I think. There's a ton of jobs that need to finish before it will start.

matbesancon commented 4 years ago

We reached a very weird state in which the tests passed on 1.1 but not 1.2. It seems to be the 5th test (first with static vector)

ChrisRackauckas commented 4 years ago

🤷‍♂ it's pretty consistent too.

matbesancon commented 4 years ago

One weird thing, if you add logging info, the tests terminate and fail

matbesancon commented 4 years ago

In any case if the Integer -> Int is the issue this is pretty worrying, there was no change to the accepted or tested methods

matbesancon commented 4 years ago

The PR is now changing only documentation and type aliases, the fact that it's broken could mean master was passing by luck only

ChrisRackauckas commented 4 years ago

Is it not just a major compile-time regression in 1.3? If you just bump Travis alone, does the same thing happen?