@@ -121,7 +121,7 @@ function defaultalg(A::Nothing, b::GPUArraysCore.AnyGPUArray, assump::OperatorAs
121121end
122122
123123# Ambiguity handling
124- function defaultalg (A:: GPUArraysCore.AnyGPUArray , b:: GPUArraysCore.AbstractGPUArray ,
124+ function defaultalg (A:: GPUArraysCore.AnyGPUArray , b:: GPUArraysCore.AnyGPUArray ,
125125 assump:: OperatorAssumptions{Bool} )
126126 if assump. condition === OperatorCondition. IllConditioned || ! assump. issq
127127 DefaultLinearSolver (DefaultAlgorithmChoice. QRFactorization)
@@ -152,7 +152,7 @@ function defaultalg(A, b, assump::OperatorAssumptions{Bool})
152152 # Special case on Arrays: avoid BLAS for RecursiveFactorization.jl when
153153 # it makes sense according to the benchmarks, which is dependent on
154154 # whether MKL or OpenBLAS is being used
155- if (A === nothing && ! (b isa GPUArraysCore. AbstractGPUArray )) || A isa Matrix
155+ if (A === nothing && ! (b isa GPUArraysCore. AnyGPUArray )) || A isa Matrix
156156 if (A === nothing ||
157157 eltype (A) <: BLASELTYPES ) &&
158158 ArrayInterface. can_setindex (b) &&
@@ -296,7 +296,7 @@ cache.cacheval = NamedTuple(LUFactorization = cache of LUFactorization, ...)
296296 abstol, reltol,
297297 verbose:: Bool , assump:: OperatorAssumptions )
298298 caches = map (first .(EnumX. symbol_map (DefaultAlgorithmChoice. T))) do alg
299- if alg === :KrylovJL_GMRES
299+ if alg === :KrylovJL_GMRES || alg === :KrylovJL_CRAIGMR || alg === :KrylovJL_LSMR
300300 quote
301301 if A isa Matrix || A isa SparseMatrixCSC
302302 nothing
0 commit comments