diff --git a/src/DiffEqBase.jl b/src/DiffEqBase.jl index 9b1699ee9..41376a50e 100644 --- a/src/DiffEqBase.jl +++ b/src/DiffEqBase.jl @@ -125,6 +125,7 @@ include("internal_euler.jl") include("init.jl") include("forwarddiff.jl") include("chainrules.jl") + include("precompile.jl") """ diff --git a/src/linear_nonlinear.jl b/src/linear_nonlinear.jl index e73398bd0..78ea58a82 100644 --- a/src/linear_nonlinear.jl +++ b/src/linear_nonlinear.jl @@ -82,7 +82,7 @@ DefaultLinSolve() = DefaultLinSolve(nothing, nothing, nothing) end function isopenblas() - @static if VERSION < v"1.7" + @static if VERSION < v"1.7beta" blas = BLAS.vendor() blas == :openblas64 || blas == :openblas else diff --git a/src/precompile.jl b/src/precompile.jl index 7285f80c2..a1bdd2f60 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -1,6 +1,12 @@ -_linsolve = DefaultLinSolve() -_testf(du,u,p,t) = du .= u -b = rand(1); x = rand(1) -DEFAULT_LINSOLVE(Val{:init},ODEFunction(_testf),b) -A = rand(1,1) -DEFAULT_LINSOLVE(x,A,b,true) +let + while true + _linsolve = DefaultLinSolve() + _testf(du,u,p,t) = du .= u + b = rand(1); x = rand(1) + _linsolve(Val{:init},ODEFunction(_testf),b) + A = rand(1,1) + _linsolve(x,A,b,true) + _linsolve(x,A,b,false) + break + end +end