-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
minres_qlp performs scalar operations on GPU #215
Comments
Digging into it, this seems to come from some internal tools. julia> CUDA.allowscalar(false);
julia> cx, stats = minres_qlp(cA, cb);
ERROR: scalar getindex is disallowed
Stacktrace:
[1] error(::String) at ./error.jl:33
[2] assertscalar(::String) at /home/mtanneau/.julia/packages/GPUArrays/eVYIC/src/host/indexing.jl:41
[3] getindex(::CuArray{Float64,1}, ::Int64) at /home/mtanneau/.julia/packages/GPUArrays/eVYIC/src/host/indexing.jl:96
[4] macro expansion at /home/mtanneau/.julia/packages/Krylov/axdoL/src/krylov_aux.jl:153 [inlined]
[5] macro expansion at ./simdloop.jl:77 [inlined]
[6] krylov_ref! at /home/mtanneau/.julia/packages/Krylov/axdoL/src/krylov_aux.jl:152 [inlined]
[7] minres_qlp(::LinearOperators.PreallocatedLinearOperator{Float64}, ::CuArray{Float64,1}; M::LinearOperators.opEye, atol::Float64, rtol::Float64, λ::Float64, itmax::Int64, verbose::Bool) at /home/mtanneau/.julia/packages/Krylov/axdoL/src/minres_qlp.jl:252
[8] minres_qlp at /home/mtanneau/.julia/packages/Krylov/axdoL/src/minres_qlp.jl:32 [inlined]
[9] #minres_qlp#100 at /home/mtanneau/.julia/packages/Krylov/axdoL/src/variants.jl:49 [inlined]
[10] minres_qlp(::CuArray{Float64,2}, ::CuArray{Float64,1}) at /home/mtanneau/.julia/packages/Krylov/axdoL/src/variants.jl:49
[11] top-level scope at REPL[11]:1 |
The problem comes from the function |
Something is happening inside
minres_qlp
that seems to not be GPU-friendlyThe last call leads to this warning:
Subsequent timings look like
The text was updated successfully, but these errors were encountered: