SciML / LinearSolve.jl

LinearSolve.jl: High-Performance Unified Interface for Linear Solvers in Julia. Easily switch between factorization and Krylov methods, add preconditioners, and all in one interface.
https://docs.sciml.ai/LinearSolve/stable/
Other
241 stars 52 forks source link

ForwardDiff and MKL fails on Ubuntu #422

Closed sebapersson closed 9 months ago

sebapersson commented 9 months ago

Currently the PEtab.jl test-suite fails on one of its gradient tests for a larger ODE-model (>20 ODE:s and >30 parameters) when I use the Rodas4P() (or any Rosenbrock) solver. I receive the error message:

ERROR: MethodError:
no method matching getrf!(::Matrix{ForwardDiff.Dual...

I this this is the exact same error as in #389

I did not get this error last weak, so it is likely related to 2.16 version of LinearSolve.

ChrisRackauckas commented 9 months ago

This was already fixed. Did you get the latest patch?

ChrisRackauckas commented 9 months ago

https://github.com/SciML/LinearSolve.jl/pull/420

sebapersson commented 9 months ago

I get this error when using LinearSolve 2.16.2, and when running on main. Maybe the patch did not cover ForwardDiff.Dual?

ChrisRackauckas commented 9 months ago

It makes it so that the default avoids any BLAS implementation. If you're using the default solve then you shouldn't have this issue. If you're choosing a linear solver and choosing a BLAS method with ForwardDiff.Dual, that should have always failed before. Note that is getting overloads to be fixed.

sebapersson commented 9 months ago

I am using the default solve here, the failure occurs when I use Rodas4P() (or any solver with default options) for solving the ODE when computing the gradient. I could try to setup a MVE if it helps?

ChrisRackauckas commented 9 months ago

Try OrdinaryDiffEq.jl master. It's somewhat related to https://github.com/SciML/OrdinaryDiffEq.jl/pull/2052

sebapersson commented 9 months ago

With OrdinaryDiffEq.jl master I do not have the problem anymore, thanks for the help!

ChrisRackauckas commented 9 months ago

okay cool, that should be released in like half an hour.