EnzymeAD / Enzyme.jl

Julia bindings for the Enzyme automatic differentiator
https://enzyme.mit.edu
MIT License
455 stars 63 forks source link

Fix Enzyme incompatibilities with Krylov methods #1077

Closed ChrisRackauckas closed 1 year ago

ChrisRackauckas commented 1 year ago

Found in https://github.com/SciML/LinearSolve.jl/pull/377, the Krylov methods have their own issue. MWE:

using Enzyme, ForwardDiff
using LinearSolve, LinearAlgebra, Test

n = 4
A = rand(n, n);
dA = zeros(n, n);
b1 = rand(n);
db1 = zeros(n);
b2 = rand(n);
db2 = zeros(n);

function f3(A, b1, b2; alg = KrylovJL_GMRES())
    prob = LinearProblem(A, b1)
    cache = init(prob, alg)
    s1 = copy(solve!(cache).u)
    cache.b = b2
    s2 = solve!(cache).u
    norm(s1 + s2)
end

Enzyme.autodiff(Reverse, f3, Duplicated(copy(A), dA), Duplicated(copy(b1), db1), Duplicated(copy(b2), db2))

dA2 = ForwardDiff.gradient(x->f3(x,eltype(x).(b1),eltype(x).(b2)), copy(A))
db12 = ForwardDiff.gradient(x->f3(eltype(x).(A),x,eltype(x).(b2)), copy(b1))
db22 = ForwardDiff.gradient(x->f3(eltype(x).(A),eltype(x).(b1),x), copy(b2))

@test dA ≈ dA2 atol=5e-5
@test db1 ≈ db12
@test db2 ≈ db22

from https://github.com/SciML/LinearSolve.jl/blob/main/test/enzyme.jl. Outputs: output4.txt

Top of output:

┌ Warning: TypeAnalysisDepthLimit
│ {[]:Pointer, [0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@double, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Pointer, [8,0]:Pointer, [8,0,-1]:Float@double, [8,8]:Integer, [8,9]:Integer, [8,10]:Integer, [8,11]:Integer, [8,12]:Integer, [8,13]:Integer, [8,14]:Integer, [8,15]:Integer, [8,16]:Integer, [8,17]:Integer, [8,18]:Integer, [8,19]:Integer, [8,20]:Integer, [8,21]:Integer, [8,22]:Integer, [8,23]:Integer, [8,24]:Integer, [8,25]:Integer, [8,26]:Integer, [8,27]:Integer, [8,28]:Integer, [8,29]:Integer, [8,30]:Integer, [8,31]:Integer, [8,32]:Integer, [8,33]:Integer, [8,34]:Integer, [8,35]:Integer, [8,36]:Integer, [8,37]:Integer, [8,38]:Integer, [8,39]:Integer, [16]:Pointer, [16,0]:Pointer, [16,0,-1]:Float@double, [16,8]:Integer, [16,9]:Integer, [16,10]:Integer, [16,11]:Integer, [16,12]:Integer, [16,13]:Integer, [16,14]:Integer, [16,15]:Integer, [16,16]:Integer, [16,17]:Integer, [16,18]:Integer, [16,19]:Integer, [16,20]:Integer, [16,21]:Integer, [16,22]:Integer, [16,23]:Integer, [16,24]:Integer, [16,25]:Integer, [16,26]:Integer, [16,27]:Integer, [16,28]:Integer, [16,29]:Integer, [16,30]:Integer, [16,31]:Integer, [16,32]:Integer, [16,33]:Integer, [16,34]:Integer, [16,35]:Integer, [16,36]:Integer, [16,37]:Integer, [16,38]:Integer, [16,39]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Pointer, [40,0]:Integer, [40,1]:Integer, [40,2]:Integer, [40,3]:Integer, [40,4]:Integer, [40,5]:Integer, [40,6]:Integer, [40,7]:Integer, [40,8]:Integer, [40,9]:Integer, [40,10]:Integer, [40,11]:Integer, [40,12]:Integer, [40,13]:Integer, [40,14]:Integer, [40,15]:Integer, [40,16]:Pointer, [40,16,0]:Pointer, [40,16,0,-1]:Float@double, [40,16,8]:Integer, [40,16,9]:Integer, [40,16,10]:Integer, [40,16,11]:Integer, [40,16,12]:Integer, [40,16,13]:Integer, [40,16,14]:Integer, [40,16,15]:Integer, [40,16,16]:Integer, [40,16,17]:Integer, [40,16,18]:Integer, [40,16,19]:Integer, [40,16,20]:Integer, [40,16,21]:Integer, [40,16,22]:Integer, [40,16,23]:Integer, [40,16,24]:Integer, [40,16,25]:Integer, [40,16,26]:Integer, [40,16,27]:Integer, [40,16,28]:Integer, [40,16,29]:Integer, [40,16,30]:Integer, [40,16,31]:Integer, [40,16,32]:Integer, [40,16,33]:Integer, [40,16,34]:Integer, [40,16,35]:Integer, [40,16,36]:Integer, [40,16,37]:Integer, [40,16,38]:Integer, [40,16,39]:Integer, [40,24]:Pointer, [40,24,0]:Pointer, [40,24,0,-1]:Float@double, [40,24,8]:Integer, [40,24,9]:Integer, [40,24,10]:Integer, [40,24,11]:Integer, [40,24,12]:Integer, [40,24,13]:Integer, [40,24,14]:Integer, [40,24,15]:Integer, [40,24,16]:Integer, [40,24,17]:Integer, [40,24,18]:Integer, [40,24,19]:Integer, [40,24,20]:Integer, [40,24,21]:Integer, [40,24,22]:Integer, [40,24,23]:Integer, [40,24,24]:Integer, [40,24,25]:Integer, [40,24,26]:Integer, [40,24,27]:Integer, [40,24,28]:Integer, [40,24,29]:Integer, [40,24,30]:Integer, [40,24,31]:Integer, [40,24,32]:Integer, [40,24,33]:Integer, [40,24,34]:Integer, [40,24,35]:Integer, [40,24,36]:Integer, [40,24,37]:Integer, [40,24,38]:Integer, [40,24,39]:Integer, [40,32]:Pointer, [40,32,0]:Pointer, [40,32,0,-1]:Float@double, [40,32,8]:Integer, [40,32,9]:Integer, [40,32,10]:Integer, [40,32,11]:Integer, [40,32,12]:Integer, [40,32,13]:Integer, [40,32,14]:Integer, [40,32,15]:Integer, [40,32,16]:Integer, [40,32,17]:Integer, [40,32,18]:Integer, [40,32,19]:Integer, [40,32,20]:Integer, [40,32,21]:Integer, [40,32,22]:Integer, [40,32,23]:Integer, [40,32,24]:Integer, [40,32,25]:Integer, [40,32,26]:Integer, [40,32,27]:Integer, [40,32,28]:Integer, [40,32,29]:Integer, [40,32,30]:Integer, [40,32,31]:Integer, [40,32,32]:Integer, [40,32,33]:Integer, [40,32,34]:Integer, [40,32,35]:Integer, [40,32,36]:Integer, [40,32,37]:Integer, [40,32,38]:Integer, [40,32,39]:Integer, [40,40]:Pointer, [40,40,0]:Pointer, [40,40,0,-1]:Float@double, [40,40,8]:Integer, [40,40,9]:Integer, [40,40,10]:Integer, [40,40,11]:Integer, [40,40,12]:Integer, [40,40,13]:Integer, [40,40,14]:Integer, [40,40,15]:Integer, [40,40,16]:Integer, [40,40,17]:Integer, [40,40,18]:Integer, [40,40,19]:Integer, [40,40,20]:Integer, [40,40,21]:Integer, [40,40,22]:Integer, [40,40,23]:Integer, [40,40,24]:Integer, [40,40,25]:Integer, [40,40,26]:Integer, [40,40,27]:Integer, [40,40,28]:Integer, [40,40,29]:Integer, [40,40,30]:Integer, [40,40,31]:Integer, [40,40,32]:Integer, [40,40,33]:Integer, [40,40,34]:Integer, [40,40,35]:Integer, [40,40,36]:Integer, [40,40,37]:Integer, [40,40,38]:Integer, [40,40,39]:Integer, [40,48]:Pointer, [40,48,0]:Pointer, [40,48,0,-1]:Float@double, [40,48,8]:Integer, [40,48,9]:Integer, [40,48,10]:Integer, [40,48,11]:Integer, [40,48,12]:Integer, [40,48,13]:Integer, [40,48,14]:Integer, [40,48,15]:Integer, [40,48,16]:Integer, [40,48,17]:Integer, [40,48,18]:Integer, [40,48,19]:Integer, [40,48,20]:Integer, [40,48,21]:Integer, [40,48,22]:Integer, [40,48,23]:Integer, [40,48,24]:Integer, [40,48,25]:Integer, [40,48,26]:Integer, [40,48,27]:Integer, [40,48,28]:Integer, [40,48,29]:Integer, [40,48,30]:Integer, [40,48,31]:Integer, [40,48,32]:Integer, [40,48,33]:Integer, [40,48,34]:Integer, [40,48,35]:Integer, [40,48,36]:Integer, [40,48,37]:Integer, [40,48,38]:Integer, [40,48,39]:Integer, [40,56]:Pointer, [40,56,0]:Pointer, [40,56,0,0]:Pointer, [40,56,0,0,0]:Pointer, [40,56,0,0,0,-1]:Float@double, [40,56,0,0,8]:Integer, [40,56,0,0,9]:Integer, [40,56,0,0,10]:Integer, [40,56,0,0,11]:Integer, [40,56,0,0,12]:Integer, [40,56,0,0,13]:Integer, [40,56,0,0,14]:Integer, [40,56,0,0,15]:Integer, [40,56,0,0,16]:Integer, [40,56,0,0,17]:Integer, [40,56,0,0,18]:Integer, [40,56,0,0,19]:Integer, [40,56,0,0,20]:Integer, [40,56,0,0,21]:Integer, [40,56,0,0,22]:Integer, [40,56,0,0,23]:Integer, [40,56,0,0,24]:Integer, [40,56,0,0,25]:Integer, [40,56,0,0,26]:Integer, [40,56,0,0,27]:Integer, [40,56,0,0,28]:Integer, [40,56,0,0,29]:Integer, [40,56,0,0,30]:Integer, [40,56,0,0,31]:Integer, [40,56,0,0,32]:Integer, [40,56,0,0,33]:Integer, [40,56,0,0,34]:Integer, [40,56,0,0,35]:Integer, [40,56,0,0,36]:Integer, [40,56,0,0,37]:Integer, [40,56,0,0,38]:Integer, [40,56,0,0,39]:Integer, [40,56,8]:Integer, [40,56,9]:Integer, [40,56,10]:Integer, [40,56,11]:Integer, [40,56,12]:Integer, [40,56,13]:Integer, [40,56,14]:Integer, [40,56,15]:Integer, [40,56,16]:Integer, [40,56,17]:Integer, [40,56,18]:Integer, [40,56,19]:Integer, [40,56,20]:Integer, [40,56,21]:Integer, [40,56,22]:Integer, [40,56,23]:Integer, [40,56,24]:Integer, [40,56,25]:Integer, [40,56,26]:Integer, [40,56,27]:Integer, [40,56,28]:Integer, [40,56,29]:Integer, [40,56,30]:Integer, [40,56,31]:Integer, [40,56,32]:Integer, [40,56,33]:Integer, [40,56,34]:Integer, [40,56,35]:Integer, [40,56,36]:Integer, [40,56,37]:Integer, [40,56,38]:Integer, [40,56,39]:Integer, [40,64]:Pointer, [40,64,0]:Pointer, [40,64,0,-1]:Float@double, [40,64,8]:Integer, [40,64,9]:Integer, [40,64,10]:Integer, [40,64,11]:Integer, [40,64,12]:Integer, [40,64,13]:Integer, [40,64,14]:Integer, [40,64,15]:Integer, [40,64,16]:Integer, [40,64,17]:Integer, [40,64,18]:Integer, [40,64,19]:Integer, [40,64,20]:Integer, [40,64,21]:Integer, [40,64,22]:Integer, [40,64,23]:Integer, [40,64,24]:Integer, [40,64,25]:Integer, [40,64,26]:Integer, [40,64,27]:Integer, [40,64,28]:Integer, [40,64,29]:Integer, [40,64,30]:Integer, [40,64,31]:Integer, [40,64,32]:Integer, [40,64,33]:Integer, [40,64,34]:Integer, [40,64,35]:Integer, [40,64,36]:Integer, [40,64,37]:Integer, [40,64,38]:Integer, [40,64,39]:Integer, [40,72]:Pointer, [40,72,0]:Pointer, [40,72,0,-1]:Float@double, [40,72,8]:Integer, [40,72,9]:Integer, [40,72,10]:Integer, [40,72,11]:Integer, [40,72,12]:Integer, [40,72,13]:Integer, [40,72,14]:Integer, [40,72,15]:Integer, [40,72,16]:Integer, [40,72,17]:Integer, [40,72,18]:Integer, [40,72,19]:Integer, [40,72,20]:Integer, [40,72,21]:Integer, [40,72,22]:Integer, [40,72,23]:Integer, [40,72,24]:Integer, [40,72,25]:Integer, [40,72,26]:Integer, [40,72,27]:Integer, [40,72,28]:Integer, [40,72,29]:Integer, [40,72,30]:Integer, [40,72,31]:Integer, [40,72,32]:Integer, [40,72,33]:Integer, [40,72,34]:Integer, [40,72,35]:Integer, [40,72,36]:Integer, [40,72,37]:Integer, [40,72,38]:Integer, [40,72,39]:Integer, [40,80]:Pointer, [40,80,0]:Pointer, [40,80,0,-1]:Float@double, [40,80,8]:Integer, [40,80,9]:Integer, [40,80,10]:Integer, [40,80,11]:Integer, [40,80,12]:Integer, [40,80,13]:Integer, [40,80,14]:Integer, [40,80,15]:Integer, [40,80,16]:Integer, [40,80,17]:Integer, [40,80,18]:Integer, [40,80,19]:Integer, [40,80,20]:Integer, [40,80,21]:Integer, [40,80,22]:Integer, [40,80,23]:Integer, [40,80,24]:Integer, [40,80,25]:Integer, [40,80,26]:Integer, [40,80,27]:Integer, [40,80,28]:Integer, [40,80,29]:Integer, [40,80,30]:Integer, [40,80,31]:Integer, [40,80,32]:Integer, [40,80,33]:Integer, [40,80,34]:Integer, [40,80,35]:Integer, [40,80,36]:Integer, [40,80,37]:Integer, [40,80,38]:Integer, [40,80,39]:Integer, [40,88]:Pointer, [40,88,0]:Pointer, [40,88,0,-1]:Float@double, [40,88,8]:Integer, [40,88,9]:Integer, [40,88,10]:Integer, [40,88,11]:Integer, [40,88,12]:Integer, [40,88,13]:Integer, [40,88,14]:Integer, [40,88,15]:Integer, [40,88,16]:Integer, [40,88,17]:Integer, [40,88,18]:Integer, [40,88,19]:Integer, [40,88,20]:Integer, [40,88,21]:Integer, [40,88,22]:Integer, [40,88,23]:Integer, [40,88,24]:Integer, [40,88,25]:Integer, [40,88,26]:Integer, [40,88,27]:Integer, [40,88,28]:Integer, [40,88,29]:Integer, [40,88,30]:Integer, [40,88,31]:Integer, [40,88,32]:Integer, [40,88,33]:Integer, [40,88,34]:Integer, [40,88,35]:Integer, [40,88,36]:Integer, [40,88,37]:Integer, [40,88,38]:Integer, [40,88,39]:Integer, [40,96]:Integer, [40,104]:Integer, [40,105]:Integer, [40,106]:Integer, [40,107]:Integer, [40,108]:Integer, [40,109]:Integer, [40,110]:Integer, [40,111]:Integer, [40,112]:Pointer, [40,112,0]:Integer, [40,112,1]:Integer, [40,112,2]:Integer, [40,112,3]:Integer, [40,112,4]:Integer, [40,112,5]:Integer, [40,112,6]:Integer, [40,112,7]:Integer, [40,112,8]:Integer, [40,112,9]:Integer, [40,112,16]:Pointer, [40,112,16,0]:Pointer, [40,112,16,0,-1]:Float@double, [40,112,16,8]:Integer, [40,112,16,9]:Integer, [40,112,16,10]:Integer, [40,112,16,11]:Integer, [40,112,16,12]:Integer, [40,112,16,13]:Integer, [40,112,16,14]:Integer, [40,112,16,15]:Integer, [40,112,16,16]:Integer, [40,112,16,17]:Integer, [40,112,16,18]:Integer, [40,112,16,19]:Integer, [40,112,16,20]:Integer, [40,112,16,21]:Integer, [40,112,16,22]:Integer, [40,112,16,23]:Integer, [40,112,16,24]:Integer, [40,112,16,25]:Integer, [40,112,16,26]:Integer, [40,112,16,27]:Integer, [40,112,16,28]:Integer, [40,112,16,29]:Integer, [40,112,16,30]:Integer, [40,112,16,31]:Integer, [40,112,16,32]:Integer, [40,112,16,33]:Integer, [40,112,16,34]:Integer, [40,112,16,35]:Integer, [40,112,16,36]:Integer, [40,112,16,37]:Integer, [40,112,16,38]:Integer, [40,112,16,39]:Integer, [40,112,24]:Pointer, [40,112,24,0]:Pointer, [40,112,24,0,-1]:Float@double, [40,112,24,8]:Integer, [40,112,24,9]:Integer, [40,112,24,10]:Integer, [40,112,24,11]:Integer, [40,112,24,12]:Integer, [40,112,24,13]:Integer, [40,112,24,14]:Integer, [40,112,24,15]:Integer, [40,112,24,16]:Integer, [40,112,24,17]:Integer, [40,112,24,18]:Integer, [40,112,24,19]:Integer, [40,112,24,20]:Integer, [40,112,24,21]:Integer, [40,112,24,22]:Integer, [40,112,24,23]:Integer, [40,112,24,24]:Integer, [40,112,24,25]:Integer, [40,112,24,26]:Integer, [40,112,24,27]:Integer, [40,112,24,28]:Integer, [40,112,24,29]:Integer, [40,112,24,30]:Integer, [40,112,24,31]:Integer, [40,112,24,32]:Integer, [40,112,24,33]:Integer, [40,112,24,34]:Integer, [40,112,24,35]:Integer, [40,112,24,36]:Integer, [40,112,24,37]:Integer, [40,112,24,38]:Integer, [40,112,24,39]:Integer, [40,112,32]:Pointer, [40,112,32,0]:Pointer, [40,112,32,0,-1]:Float@double, [40,112,32,8]:Integer, [40,112,32,9]:Integer, [40,112,32,10]:Integer, [40,112,32,11]:Integer, [40,112,32,12]:Integer, [40,112,32,13]:Integer, [40,112,32,14]:Integer, [40,112,32,15]:Integer, [40,112,32,16]:Integer, [40,112,32,17]:Integer, [40,112,32,18]:Integer, [40,112,32,19]:Integer, [40,112,32,20]:Integer, [40,112,32,21]:Integer, [40,112,32,22]:Integer, [40,112,32,23]:Integer, [40,112,32,24]:Integer, [40,112,32,25]:Integer, [40,112,32,26]:Integer, [40,112,32,27]:Integer, [40,112,32,28]:Integer, [40,112,32,29]:Integer, [40,112,32,30]:Integer, [40,112,32,31]:Integer, [40,112,32,32]:Integer, [40,112,32,33]:Integer, [40,112,32,34]:Integer, [40,112,32,35]:Integer, [40,112,32,36]:Integer, [40,112,32,37]:Integer, [40,112,32,38]:Integer, [40,112,32,39]:Integer, [40,112,40]:Float@double, [40,112,48]:Pointer, [48]:Integer, [56]:Integer, [57]:Integer, [58]:Integer, [59]:Integer, [60]:Integer, [61]:Integer, [62]:Integer, [63]:Integer, [64]:Integer, [65]:Integer, [66]:Integer, [67]:Integer, [68]:Integer, [69]:Integer, [70]:Integer, [71]:Integer, [72]:Float@double, [80]:Float@double, [88]:Integer, [89]:Integer, [90]:Integer, [91]:Integer, [92]:Integer, [93]:Integer, [94]:Integer, [95]:Integer, [96]:Integer, [100]:Integer}
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/2mJjc/src/utils.jl:59

Bottom of output:

┌ Warning: TypeAnalysisDepthLimit
│ {[]:Pointer, [0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@double, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [8]:Pointer, [8,0]:Pointer, [8,0,-1]:Float@double, [8,8]:Integer, [8,9]:Integer, [8,10]:Integer, [8,11]:Integer, [8,12]:Integer, [8,13]:Integer, [8,14]:Integer, [8,15]:Integer, [8,16]:Integer, [8,17]:Integer, [8,18]:Integer, [8,19]:Integer, [8,20]:Integer, [8,21]:Integer, [8,22]:Integer, [8,23]:Integer, [8,24]:Integer, [8,25]:Integer, [8,26]:Integer, [8,27]:Integer, [8,28]:Integer, [8,29]:Integer, [8,30]:Integer, [8,31]:Integer, [8,32]:Integer, [8,33]:Integer, [8,34]:Integer, [8,35]:Integer, [8,36]:Integer, [8,37]:Integer, [8,38]:Integer, [8,39]:Integer, [16]:Pointer, [16,0]:Pointer, [16,0,-1]:Float@double, [16,8]:Integer, [16,9]:Integer, [16,10]:Integer, [16,11]:Integer, [16,12]:Integer, [16,13]:Integer, [16,14]:Integer, [16,15]:Integer, [16,16]:Integer, [16,17]:Integer, [16,18]:Integer, [16,19]:Integer, [16,20]:Integer, [16,21]:Integer, [16,22]:Integer, [16,23]:Integer, [16,24]:Integer, [16,25]:Integer, [16,26]:Integer, [16,27]:Integer, [16,28]:Integer, [16,29]:Integer, [16,30]:Integer, [16,31]:Integer, [16,32]:Integer, [16,33]:Integer, [16,34]:Integer, [16,35]:Integer, [16,36]:Integer, [16,37]:Integer, [16,38]:Integer, [16,39]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Pointer, [40,0]:Integer, [40,1]:Integer, [40,2]:Integer, [40,3]:Integer, [40,4]:Integer, [40,5]:Integer, [40,6]:Integer, [40,7]:Integer, [40,8]:Integer, [40,9]:Integer, [40,10]:Integer, [40,11]:Integer, [40,12]:Integer, [40,13]:Integer, [40,14]:Integer, [40,15]:Integer, [40,16]:Pointer, [40,16,0]:Pointer, [40,16,0,-1]:Float@double, [40,16,8]:Integer, [40,16,9]:Integer, [40,16,10]:Integer, [40,16,11]:Integer, [40,16,12]:Integer, [40,16,13]:Integer, [40,16,14]:Integer, [40,16,15]:Integer, [40,16,16]:Integer, [40,16,17]:Integer, [40,16,18]:Integer, [40,16,19]:Integer, [40,16,20]:Integer, [40,16,21]:Integer, [40,16,22]:Integer, [40,16,23]:Integer, [40,16,24]:Integer, [40,16,25]:Integer, [40,16,26]:Integer, [40,16,27]:Integer, [40,16,28]:Integer, [40,16,29]:Integer, [40,16,30]:Integer, [40,16,31]:Integer, [40,16,32]:Integer, [40,16,33]:Integer, [40,16,34]:Integer, [40,16,35]:Integer, [40,16,36]:Integer, [40,16,37]:Integer, [40,16,38]:Integer, [40,16,39]:Integer, [40,24]:Pointer, [40,24,0]:Pointer, [40,24,0,-1]:Float@double, [40,24,8]:Integer, [40,24,9]:Integer, [40,24,10]:Integer, [40,24,11]:Integer, [40,24,12]:Integer, [40,24,13]:Integer, [40,24,14]:Integer, [40,24,15]:Integer, [40,24,16]:Integer, [40,24,17]:Integer, [40,24,18]:Integer, [40,24,19]:Integer, [40,24,20]:Integer, [40,24,21]:Integer, [40,24,22]:Integer, [40,24,23]:Integer, [40,24,24]:Integer, [40,24,25]:Integer, [40,24,26]:Integer, [40,24,27]:Integer, [40,24,28]:Integer, [40,24,29]:Integer, [40,24,30]:Integer, [40,24,31]:Integer, [40,24,32]:Integer, [40,24,33]:Integer, [40,24,34]:Integer, [40,24,35]:Integer, [40,24,36]:Integer, [40,24,37]:Integer, [40,24,38]:Integer, [40,24,39]:Integer, [40,32]:Pointer, [40,32,0]:Pointer, [40,32,0,-1]:Float@double, [40,32,8]:Integer, [40,32,9]:Integer, [40,32,10]:Integer, [40,32,11]:Integer, [40,32,12]:Integer, [40,32,13]:Integer, [40,32,14]:Integer, [40,32,15]:Integer, [40,32,16]:Integer, [40,32,17]:Integer, [40,32,18]:Integer, [40,32,19]:Integer, [40,32,20]:Integer, [40,32,21]:Integer, [40,32,22]:Integer, [40,32,23]:Integer, [40,32,24]:Integer, [40,32,25]:Integer, [40,32,26]:Integer, [40,32,27]:Integer, [40,32,28]:Integer, [40,32,29]:Integer, [40,32,30]:Integer, [40,32,31]:Integer, [40,32,32]:Integer, [40,32,33]:Integer, [40,32,34]:Integer, [40,32,35]:Integer, [40,32,36]:Integer, [40,32,37]:Integer, [40,32,38]:Integer, [40,32,39]:Integer, [40,40]:Pointer, [40,40,0]:Pointer, [40,40,0,-1]:Float@double, [40,40,8]:Integer, [40,40,9]:Integer, [40,40,10]:Integer, [40,40,11]:Integer, [40,40,12]:Integer, [40,40,13]:Integer, [40,40,14]:Integer, [40,40,15]:Integer, [40,40,16]:Integer, [40,40,17]:Integer, [40,40,18]:Integer, [40,40,19]:Integer, [40,40,20]:Integer, [40,40,21]:Integer, [40,40,22]:Integer, [40,40,23]:Integer, [40,40,24]:Integer, [40,40,25]:Integer, [40,40,26]:Integer, [40,40,27]:Integer, [40,40,28]:Integer, [40,40,29]:Integer, [40,40,30]:Integer, [40,40,31]:Integer, [40,40,32]:Integer, [40,40,33]:Integer, [40,40,34]:Integer, [40,40,35]:Integer, [40,40,36]:Integer, [40,40,37]:Integer, [40,40,38]:Integer, [40,40,39]:Integer, [40,48]:Pointer, [40,48,0]:Pointer, [40,48,0,-1]:Float@double, [40,48,8]:Integer, [40,48,9]:Integer, [40,48,10]:Integer, [40,48,11]:Integer, [40,48,12]:Integer, [40,48,13]:Integer, [40,48,14]:Integer, [40,48,15]:Integer, [40,48,16]:Integer, [40,48,17]:Integer, [40,48,18]:Integer, [40,48,19]:Integer, [40,48,20]:Integer, [40,48,21]:Integer, [40,48,22]:Integer, [40,48,23]:Integer, [40,48,24]:Integer, [40,48,25]:Integer, [40,48,26]:Integer, [40,48,27]:Integer, [40,48,28]:Integer, [40,48,29]:Integer, [40,48,30]:Integer, [40,48,31]:Integer, [40,48,32]:Integer, [40,48,33]:Integer, [40,48,34]:Integer, [40,48,35]:Integer, [40,48,36]:Integer, [40,48,37]:Integer, [40,48,38]:Integer, [40,48,39]:Integer, [40,56]:Pointer, [40,56,0]:Pointer, [40,56,0,0]:Pointer, [40,56,0,0,0]:Pointer, [40,56,0,0,0,-1]:Float@double, [40,56,0,0,8]:Integer, [40,56,0,0,9]:Integer, [40,56,0,0,10]:Integer, [40,56,0,0,11]:Integer, [40,56,0,0,12]:Integer, [40,56,0,0,13]:Integer, [40,56,0,0,14]:Integer, [40,56,0,0,15]:Integer, [40,56,0,0,16]:Integer, [40,56,0,0,17]:Integer, [40,56,0,0,18]:Integer, [40,56,0,0,19]:Integer, [40,56,0,0,20]:Integer, [40,56,0,0,21]:Integer, [40,56,0,0,22]:Integer, [40,56,0,0,23]:Integer, [40,56,0,0,24]:Integer, [40,56,0,0,25]:Integer, [40,56,0,0,26]:Integer, [40,56,0,0,27]:Integer, [40,56,0,0,28]:Integer, [40,56,0,0,29]:Integer, [40,56,0,0,30]:Integer, [40,56,0,0,31]:Integer, [40,56,0,0,32]:Integer, [40,56,0,0,33]:Integer, [40,56,0,0,34]:Integer, [40,56,0,0,35]:Integer, [40,56,0,0,36]:Integer, [40,56,0,0,37]:Integer, [40,56,0,0,38]:Integer, [40,56,0,0,39]:Integer, [40,56,8]:Integer, [40,56,9]:Integer, [40,56,10]:Integer, [40,56,11]:Integer, [40,56,12]:Integer, [40,56,13]:Integer, [40,56,14]:Integer, [40,56,15]:Integer, [40,56,16]:Integer, [40,56,17]:Integer, [40,56,18]:Integer, [40,56,19]:Integer, [40,56,20]:Integer, [40,56,21]:Integer, [40,56,22]:Integer, [40,56,23]:Integer, [40,56,24]:Integer, [40,56,25]:Integer, [40,56,26]:Integer, [40,56,27]:Integer, [40,56,28]:Integer, [40,56,29]:Integer, [40,56,30]:Integer, [40,56,31]:Integer, [40,56,32]:Integer, [40,56,33]:Integer, [40,56,34]:Integer, [40,56,35]:Integer, [40,56,36]:Integer, [40,56,37]:Integer, [40,56,38]:Integer, [40,56,39]:Integer, [40,64]:Pointer, [40,64,0]:Pointer, [40,64,0,-1]:Float@double, [40,64,8]:Integer, [40,64,9]:Integer, [40,64,10]:Integer, [40,64,11]:Integer, [40,64,12]:Integer, [40,64,13]:Integer, [40,64,14]:Integer, [40,64,15]:Integer, [40,64,16]:Integer, [40,64,17]:Integer, [40,64,18]:Integer, [40,64,19]:Integer, [40,64,20]:Integer, [40,64,21]:Integer, [40,64,22]:Integer, [40,64,23]:Integer, [40,64,24]:Integer, [40,64,25]:Integer, [40,64,26]:Integer, [40,64,27]:Integer, [40,64,28]:Integer, [40,64,29]:Integer, [40,64,30]:Integer, [40,64,31]:Integer, [40,64,32]:Integer, [40,64,33]:Integer, [40,64,34]:Integer, [40,64,35]:Integer, [40,64,36]:Integer, [40,64,37]:Integer, [40,64,38]:Integer, [40,64,39]:Integer, [40,72]:Pointer, [40,72,0]:Pointer, [40,72,0,-1]:Float@double, [40,72,8]:Integer, [40,72,9]:Integer, [40,72,10]:Integer, [40,72,11]:Integer, [40,72,12]:Integer, [40,72,13]:Integer, [40,72,14]:Integer, [40,72,15]:Integer, [40,72,16]:Integer, [40,72,17]:Integer, [40,72,18]:Integer, [40,72,19]:Integer, [40,72,20]:Integer, [40,72,21]:Integer, [40,72,22]:Integer, [40,72,23]:Integer, [40,72,24]:Integer, [40,72,25]:Integer, [40,72,26]:Integer, [40,72,27]:Integer, [40,72,28]:Integer, [40,72,29]:Integer, [40,72,30]:Integer, [40,72,31]:Integer, [40,72,32]:Integer, [40,72,33]:Integer, [40,72,34]:Integer, [40,72,35]:Integer, [40,72,36]:Integer, [40,72,37]:Integer, [40,72,38]:Integer, [40,72,39]:Integer, [40,80]:Pointer, [40,80,0]:Pointer, [40,80,0,-1]:Float@double, [40,80,8]:Integer, [40,80,9]:Integer, [40,80,10]:Integer, [40,80,11]:Integer, [40,80,12]:Integer, [40,80,13]:Integer, [40,80,14]:Integer, [40,80,15]:Integer, [40,80,16]:Integer, [40,80,17]:Integer, [40,80,18]:Integer, [40,80,19]:Integer, [40,80,20]:Integer, [40,80,21]:Integer, [40,80,22]:Integer, [40,80,23]:Integer, [40,80,24]:Integer, [40,80,25]:Integer, [40,80,26]:Integer, [40,80,27]:Integer, [40,80,28]:Integer, [40,80,29]:Integer, [40,80,30]:Integer, [40,80,31]:Integer, [40,80,32]:Integer, [40,80,33]:Integer, [40,80,34]:Integer, [40,80,35]:Integer, [40,80,36]:Integer, [40,80,37]:Integer, [40,80,38]:Integer, [40,80,39]:Integer, [40,88]:Pointer, [40,88,0]:Pointer, [40,88,0,-1]:Float@double, [40,88,8]:Integer, [40,88,9]:Integer, [40,88,10]:Integer, [40,88,11]:Integer, [40,88,12]:Integer, [40,88,13]:Integer, [40,88,14]:Integer, [40,88,15]:Integer, [40,88,16]:Integer, [40,88,17]:Integer, [40,88,18]:Integer, [40,88,19]:Integer, [40,88,20]:Integer, [40,88,21]:Integer, [40,88,22]:Integer, [40,88,23]:Integer, [40,88,24]:Integer, [40,88,25]:Integer, [40,88,26]:Integer, [40,88,27]:Integer, [40,88,28]:Integer, [40,88,29]:Integer, [40,88,30]:Integer, [40,88,31]:Integer, [40,88,32]:Integer, [40,88,33]:Integer, [40,88,34]:Integer, [40,88,35]:Integer, [40,88,36]:Integer, [40,88,37]:Integer, [40,88,38]:Integer, [40,88,39]:Integer, [40,96]:Integer, [40,104]:Integer, [40,105]:Integer, [40,106]:Integer, [40,107]:Integer, [40,108]:Integer, [40,109]:Integer, [40,110]:Integer, [40,111]:Integer, [40,112]:Pointer, [40,112,0]:Integer, [40,112,1]:Integer, [40,112,2]:Integer, [40,112,3]:Integer, [40,112,4]:Integer, [40,112,5]:Integer, [40,112,6]:Integer, [40,112,7]:Integer, [40,112,8]:Integer, [40,112,9]:Integer, [40,112,16]:Pointer, [40,112,16,0]:Pointer, [40,112,16,0,-1]:Float@double, [40,112,16,8]:Integer, [40,112,16,9]:Integer, [40,112,16,10]:Integer, [40,112,16,11]:Integer, [40,112,16,12]:Integer, [40,112,16,13]:Integer, [40,112,16,14]:Integer, [40,112,16,15]:Integer, [40,112,16,16]:Integer, [40,112,16,17]:Integer, [40,112,16,18]:Integer, [40,112,16,19]:Integer, [40,112,16,20]:Integer, [40,112,16,21]:Integer, [40,112,16,22]:Integer, [40,112,16,23]:Integer, [40,112,16,24]:Integer, [40,112,16,25]:Integer, [40,112,16,26]:Integer, [40,112,16,27]:Integer, [40,112,16,28]:Integer, [40,112,16,29]:Integer, [40,112,16,30]:Integer, [40,112,16,31]:Integer, [40,112,16,32]:Integer, [40,112,16,33]:Integer, [40,112,16,34]:Integer, [40,112,16,35]:Integer, [40,112,16,36]:Integer, [40,112,16,37]:Integer, [40,112,16,38]:Integer, [40,112,16,39]:Integer, [40,112,24]:Pointer, [40,112,24,0]:Pointer, [40,112,24,0,-1]:Float@double, [40,112,24,8]:Integer, [40,112,24,9]:Integer, [40,112,24,10]:Integer, [40,112,24,11]:Integer, [40,112,24,12]:Integer, [40,112,24,13]:Integer, [40,112,24,14]:Integer, [40,112,24,15]:Integer, [40,112,24,16]:Integer, [40,112,24,17]:Integer, [40,112,24,18]:Integer, [40,112,24,19]:Integer, [40,112,24,20]:Integer, [40,112,24,21]:Integer, [40,112,24,22]:Integer, [40,112,24,23]:Integer, [40,112,24,24]:Integer, [40,112,24,25]:Integer, [40,112,24,26]:Integer, [40,112,24,27]:Integer, [40,112,24,28]:Integer, [40,112,24,29]:Integer, [40,112,24,30]:Integer, [40,112,24,31]:Integer, [40,112,24,32]:Integer, [40,112,24,33]:Integer, [40,112,24,34]:Integer, [40,112,24,35]:Integer, [40,112,24,36]:Integer, [40,112,24,37]:Integer, [40,112,24,38]:Integer, [40,112,24,39]:Integer, [40,112,32]:Pointer, [40,112,32,0]:Pointer, [40,112,32,0,-1]:Float@double, [40,112,32,8]:Integer, [40,112,32,9]:Integer, [40,112,32,10]:Integer, [40,112,32,11]:Integer, [40,112,32,12]:Integer, [40,112,32,13]:Integer, [40,112,32,14]:Integer, [40,112,32,15]:Integer, [40,112,32,16]:Integer, [40,112,32,17]:Integer, [40,112,32,18]:Integer, [40,112,32,19]:Integer, [40,112,32,20]:Integer, [40,112,32,21]:Integer, [40,112,32,22]:Integer, [40,112,32,23]:Integer, [40,112,32,24]:Integer, [40,112,32,25]:Integer, [40,112,32,26]:Integer, [40,112,32,27]:Integer, [40,112,32,28]:Integer, [40,112,32,29]:Integer, [40,112,32,30]:Integer, [40,112,32,31]:Integer, [40,112,32,32]:Integer, [40,112,32,33]:Integer, [40,112,32,34]:Integer, [40,112,32,35]:Integer, [40,112,32,36]:Integer, [40,112,32,37]:Integer, [40,112,32,38]:Integer, [40,112,32,39]:Integer, [40,112,40]:Float@double, [40,112,48]:Pointer, [48]:Integer, [56]:Integer, [57]:Integer, [58]:Integer, [59]:Integer, [60]:Integer, [61]:Integer, [62]:Integer, [63]:Integer, [64]:Integer, [65]:Integer, [66]:Integer, [67]:Integer, [68]:Integer, [69]:Integer, [70]:Integer, [71]:Integer, [72]:Float@double, [80]:Float@double, [88]:Integer, [89]:Integer, [90]:Integer, [91]:Integer, [92]:Integer, [93]:Integer, [94]:Integer, [95]:Integer, [96]:Integer, [100]:Integer}
└ @ Enzyme.Compiler ~/.julia/packages/GPUCompiler/2mJjc/src/utils.jl:59
 caching call:   %11 = call fastcc i64 @julia_steprange_last_73002(i64 signext %10, i64 noundef signext 4, i64 signext %8) #79, !dbg !106
 caching call:   %14 = call fastcc i64 @julia_steprange_last_73002(i64 signext %13, i64 noundef signext 4, i64 signext %11) #79, !dbg !106
Enzyme Derivative Rules: Error During Test at /home/runner/.julia/packages/SafeTestsets/raUNr/src/SafeTestsets.jl:30
  Got exception outside of a @test
  LoadError: AssertionError: SciMLBase.LinearSolution{Float64, 1, Vector{Float64}, Float64, LinearSolve.KrylovJL{typeof(Krylov.gmres!), Int64, Tuple{}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.KrylovJL{typeof(Krylov.gmres!), Int64, Tuple{}, Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}}, Krylov.GmresSolver{Float64, Float64, Vector{Float64}}, SciMLOperators.IdentityOperator, SciMLOperators.IdentityOperator, Float64, Bool}, Nothing} has mixed internal activity types
  Stacktrace:
    [1] #s171#5
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:381 [inlined]
    [2] var"#s171#5"(T::Any, ::Any, #unused#::Any)
      @ Enzyme.Compiler ./none:0
    [3] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any})
      @ Core ./boot.jl:602
    [4] enzyme_custom_setup_ret(gutils::Enzyme.Compiler.GradientUtils, orig::LLVM.CallInst, mi::Core.MethodInstance, RealRt::Type)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:4164
    [5] enzyme_custom_common_rev(forward::Bool, B::LLVM.IRBuilder, orig::LLVM.CallInst, gutils::Enzyme.Compiler.GradientUtils, normalR::Ptr{Ptr{LLVM.API.LLVMOpaqueValue}}, shadowR::Ptr{Ptr{LLVM.API.LLVMOpaqueValue}}, tape::Nothing)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:4427
    [6] enzyme_custom_augfwd
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:4786 [inlined]
    [7] (::Enzyme.Compiler.var"#198#199")(B::Ptr{LLVM.API.LLVMOpaqueBuilder}, OrigCI::Ptr{LLVM.API.LLVMOpaqueValue}, gutils::Ptr{Nothing}, normalR::Ptr{Ptr{LLVM.API.LLVMOpaqueValue}}, shadowR::Ptr{Ptr{LLVM.API.LLVMOpaqueValue}}, tapeR::Ptr{Ptr{LLVM.API.LLVMOpaqueValue}})
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:6705
    [8] EnzymeCreatePrimalAndGradient(logic::Enzyme.Logic, todiff::LLVM.Function, retType::Enzyme.API.CDIFFE_TYPE, constant_args::Vector{Enzyme.API.CDIFFE_TYPE}, TA::Enzyme.TypeAnalysis, returnValue::Bool, dretUsed::Bool, mode::Enzyme.API.CDerivativeMode, width::Int64, additionalArg::Ptr{Nothing}, forceAnonymousTape::Bool, typeInfo::Enzyme.FnTypeInfo, uncacheable_args::Vector{Bool}, augmented::Ptr{Nothing}, atomicAdd::Bool)
      @ Enzyme.API ~/.julia/packages/Enzyme/VS5jo/src/api.jl:128
    [9] enzyme!(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget, Enzyme.Compiler.EnzymeCompilerParams}, mod::LLVM.Module, primalf::LLVM.Function, TT::Type, mode::Enzyme.API.CDerivativeMode, width::Int64, parallel::Bool, actualRetType::Type, wrap::Bool, modifiedBetween::NTuple{4, Bool}, returnPrimal::Bool, jlrules::Vector{String}, expectedTapeType::Type)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:7714
   [10] codegen(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget, Enzyme.Compiler.EnzymeCompilerParams}; libraries::Bool, deferred_codegen::Bool, optimize::Bool, toplevel::Bool, strip::Bool, validate::Bool, only_entry::Bool, parent_job::Nothing)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9274
   [11] codegen
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:8879 [inlined]
   [12] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget, Enzyme.Compiler.EnzymeCompilerParams}, postopt::Bool)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9826
   [13] _thunk
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9826 [inlined]
   [14] cached_compilation
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9860 [inlined]
   [15] (::Enzyme.Compiler.var"#475#476"{DataType, DataType, DataType, Enzyme.API.CDerivativeMode, NTuple{4, Bool}, Int64, Bool, Bool, UInt64, DataType})(ctx::LLVM.Context)
      @ Enzyme.Compiler ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9923
   [16] JuliaContext(f::Enzyme.Compiler.var"#475#476"{DataType, DataType, DataType, Enzyme.API.CDerivativeMode, NTuple{4, Bool}, Int64, Bool, Bool, UInt64, DataType})
      @ GPUCompiler ~/.julia/packages/GPUCompiler/2mJjc/src/driver.jl:47
   [17] #s292#474
      @ ~/.julia/packages/Enzyme/VS5jo/src/compiler.jl:9878 [inlined]
   [18] var"#s292#474"(FA::Any, A::Any, TT::Any, Mode::Any, ModifiedBetween::Any, width::Any, ReturnPrimal::Any, ShadowInit::Any, World::Any, ABI::Any, ::Any, #unused#::Type, #unused#::Type, #unused#::Type, tt::Any, #unused#::Type, #unused#::Type, #unused#::Type, #unused#::Type, #unused#::Type, #unused#::Any)
      @ Enzyme.Compiler ./none:0
   [19] (::Core.GeneratedFunctionStub)(::Any, ::Vararg{Any})
      @ Core ./boot.jl:602
   [20] autodiff(::EnzymeCore.ReverseMode{false, EnzymeCore.FFIABI}, ::EnzymeCore.Const{typeof(Main.var"##Enzyme Derivative Rules#298".f3)}, ::Type{EnzymeCore.Active{Float64}}, ::EnzymeCore.Duplicated{Matrix{Float64}}, ::Vararg{Any})
      @ Enzyme ~/.julia/packages/Enzyme/VS5jo/src/Enzyme.jl:207
   [21] autodiff(::EnzymeCore.ReverseMode{false, EnzymeCore.FFIABI}, ::EnzymeCore.Const{typeof(Main.var"##Enzyme Derivative Rules#298".f3)}, ::EnzymeCore.Duplicated{Matrix{Float64}}, ::EnzymeCore.Duplicated{Vector{Float64}}, ::Vararg{EnzymeCore.Duplicated{Vector{Float64}}})
      @ Enzyme ~/.julia/packages/Enzyme/VS5jo/src/Enzyme.jl:236
   [22] autodiff(::EnzymeCore.ReverseMode{false, EnzymeCore.FFIABI}, ::typeof(Main.var"##Enzyme Derivative Rules#298".f3), ::EnzymeCore.Duplicated{Matrix{Float64}}, ::EnzymeCore.Duplicated{Vector{Float64}}, ::Vararg{EnzymeCore.Duplicated{Vector{Float64}}})
      @ Enzyme ~/.julia/packages/Enzyme/VS5jo/src/Enzyme.jl:222
   [23] top-level scope
      @ ~/work/LinearSolve.jl/LinearSolve.jl/test/enzyme.jl:119
   [24] include(mod::Module, _path::String)
      @ Base ./Base.jl:457
   [25] include(x::String)
      @ Main.var"##Enzyme Derivative Rules#298" ~/.julia/packages/SafeTestsets/raUNr/src/SafeTestsets.jl:28
   [26] macro expansion
      @ ~/.julia/packages/SafeTestsets/raUNr/src/SafeTestsets.jl:24 [inlined]
   [27] macro expansion
      @ /opt/hostedtoolcache/julia/1.9.3/x64/share/julia/stdlib/v1.9/Test/src/Test.jl:1498 [inlined]
   [28] top-level scope
      @ ~/.julia/packages/SafeTestsets/raUNr/src/SafeTestsets.jl:24
   [29] eval(m::Module, e::Any)
      @ Core ./boot.jl:370
   [30] macro expansion
      @ ~/.julia/packages/SafeTestsets/raUNr/src/SafeTestsets.jl:28 [inlined]
   [31] macro expansion
      @ ./timing.jl:273 [inlined]
   [32] top-level scope
      @ ~/work/LinearSolve.jl/LinearSolve.jl/test/runtests.jl:16
   [33] include(fname::String)
      @ Base.MainInclude ./client.jl:478
   [34] top-level scope
      @ none:6
   [35] eval
      @ ./boot.jl:370 [inlined]
   [36] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:280
   [37] _start()
      @ Base ./client.jl:522
  in expression starting at /home/runner/work/LinearSolve.jl/LinearSolve.jl/test/enzyme.jl:119
ChrisRackauckas commented 1 year ago

julia_steprange_last_73002 sounds like it's similar to https://github.com/EnzymeAD/Enzyme.jl/issues/1070 that it's getting caught up on some issues with ranges https://github.com/EnzymeAD/Enzyme.jl/issues/274

ChrisRackauckas commented 1 year ago

wrong repo: https://github.com/SciML/LinearSolve.jl/issues/381