New empty project upon calling add CUDA DiffEqGPU (Linux, Julia 1.11.6)
Precompiling project...
? LinearSolve → LinearSolveCUDAExt
1 dependency successfully precompiled in 3 seconds. 227 already precompiled.
1 dependencies failed but may be precompilable after restarting julia
1 dependency had output during precompilation:
┌ LinearSolve → LinearSolveCUDAExt
│ WARNING: Method definition init_cacheval(LinearSolve.CudaOffloadLUFactorization, Any, Any, Any, Any, Any, Int64, Any, Any, LinearSolve.LinearVerbosity{T} where T, LinearSolve.OperatorAssumptions{T} where T) in module LinearSolve at /home/sob/.julia/packages/LinearSolve/507yZ/src/factorization.jl:1213 overwritten in module LinearSolveCUDAExt at /home/sob/.julia/packages/LinearSolve/507yZ/ext/LinearSolveCUDAExt.jl:55.
│ ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
└
(Blah) pkg>
julia> using Test
Precompiling LinearSolveCUDAExt...
Info Given LinearSolveCUDAExt was explicitly requested, output will be shown live
WARNING: Method definition usecuda() in module LinearSolve at /home/sob/.julia/packages/LinearSolve/IJofQ/src/LinearSolve.jl:440 overwritten in module LinearSolveCUDAExt at /home/sob/.julia/packages/LinearSolve/IJofQ/ext/LinearSolveCUDAExt.jl:14.
ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
? LinearSolve → LinearSolveCUDAExt
[ Info: Precompiling LinearSolveCUDAExt [e24d4dde-ed20-5ee7-b465-f1dd73f9b6ba] (cache misses: incompatible header (8))
WARNING: Method definition usecuda() in module LinearSolve at /home/sob/.julia/packages/LinearSolve/IJofQ/src/LinearSolve.jl:440 overwritten in module LinearSolveCUDAExt at /home/sob/.julia/packages/LinearSolve/IJofQ/ext/LinearSolveCUDAExt.jl:14.
ERROR: Method overwriting is not permitted during Module precompilation. Use `__precompile__(false)` to opt-out of precompilation.
┌ Info: Skipping precompilation due to precompilable error. Importing LinearSolveCUDAExt [e24d4dde-ed20-5ee7-b465-f1dd73f9b6ba].
└ exception = Error when precompiling module, potentially caused by a __precompile__(false) declaration in the module.
julia>
ERROR: LoadError: UndefVarError: `AbstractNonlinearTerminationMode` not defined in `SteadyStateDiffEq`
EDIT:
A blank new project with only DifferentialEquations and CUDA compiles fine (including the recent LinearSolve. Meaning the my real world project has a package that is forcing an older version of LinearSolve which errors, but a more recent version shouldn’t.
So @ChrisRackauckas it seems SteadyStateDiffEq is held/dowgraded (at v2.4.1, instead of v2.5.0) by a package in the DifferentialEquations or Optimization tree.
I was able to recover a broken environment by doing the following:
rm DifferentialEquations
add SteadyStateDiffEq (to have explicitely in Project, goes to v2.5.0)
add DifferentialEquations (didn’t downgrade SteadyStateDiffEq… however if I were to remove SteadyStateDiffEq from Project, up would downgrade it as a dep to DifferentialEquations)
Try with the new SteadyStateDiffEq.jl. It looks like I forgot to do that release with the crucial patch which changes it to using NonlinearSolveBase instead of DiffEqBase
Ahh I found the issue. It was a NonlinearSolveBase bound in SteadyStateDiffEq that put things into an odd state. I just created a new release of that. I think we’re good now, sorry for the troubles.