You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 12, 2021. It is now read-only.
It seems that assigning a number to a CuArray slice via broadcast fails now. It must have worked in the past (probably in v1.0.2) one of my tests just broke but maybe this is the new intended behavior.
I'm using CuArrays v1.1.0, CUDAnative v2.2.1, and CUDAdrv v3.1.0.
Minimal working example:
julia> C =rand(2, 2, 2) |> CuArray
2×2×2 CuArray{Float64,3}:
[:, :, 1] =0.09085940.9952280.274180.945454
[:, :, 2] =0.42990.6000290.87660.601922
julia> C[:, 2, :] .=100
ERROR: MethodError: no method matching CuArray(::Int64)
Closest candidates are:CuArray(::CuArrays.CUSOLVER.CuQRPackedQ) at /home/gridsan/aramadhan/.julia/packages/CuArrays/eFBar/src/solver/highlevel.jl:22CuArray(::AbstractArray{T,N}) where {T, N} at /home/gridsan/aramadhan/.julia/packages/CuArrays/eFBar/src/array.jl:116CuArray(::LinearAlgebra.UniformScaling, ::Tuple{Int64,Int64}) at /home/gridsan/aramadhan/.julia/packages/GPUArrays/joKVJ/src/construction.jl:30...
Stacktrace:
[1] map(::Type, ::Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}}) at ./tuple.jl:167
[2] adapt_structure(::CUDAnative.Adaptor, ::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}) at /home/gridsan/aramadhan/.julia/packages/CuArrays/eFBar/src/subarray.jl:61
[3] adapt(::CUDAnative.Adaptor, ::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}) at /home/gridsan/aramadhan/.julia/packages/Adapt/aeQPS/src/Adapt.jl:6
[4] cudaconvert(::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}) at /home/gridsan/aramadhan/.julia/packages/CUDAnative/nItlk/src/execution.jl:209
[5] _broadcast_getindex_evalf at ./broadcast.jl:578 [inlined]
[6] _broadcast_getindex at ./broadcast.jl:551 [inlined]
[7] (::getfield(Base.Broadcast, Symbol("##19#20")){Base.Broadcast.Broadcasted{Base.Broadcast.Style{Tuple},Nothing,typeof(CUDAnative.cudaconvert),Tuple{Tuple{CuArrays.CuKernelState,SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false},Base.Broadcast.Broadcasted{Nothing,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}},typeof(identity),Tuple{Int64}}}}}})(::Int64) at ./broadcast.jl:953
[8] ntuple at ./tuple.jl:161 [inlined]
[9] copy at ./broadcast.jl:953 [inlined]
[10] materialize at ./broadcast.jl:753 [inlined]
[11] macro expansion at /home/gridsan/aramadhan/.julia/packages/CUDAnative/nItlk/src/execution.jl:172 [inlined]
[12] macro expansion at ./gcutils.jl:87 [inlined]
[13] macro expansion at /home/gridsan/aramadhan/.julia/packages/CUDAnative/nItlk/src/execution.jl:171 [inlined]
[14] _gpu_call(::CuArrays.CuArrayBackend, ::Function, ::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}, ::Tuple{SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false},Base.Broadcast.Broadcasted{Nothing,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}},typeof(identity),Tuple{Int64}}}, ::Tuple{Tuple{Int64},Tuple{Int64}}) at /home/gridsan/aramadhan/.julia/packages/CuArrays/eFBar/src/gpuarray_interface.jl:60
[15] gpu_call(::Function, ::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}, ::Tuple{SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false},Base.Broadcast.Broadcasted{Nothing,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}},typeof(identity),Tuple{Int64}}}, ::Int64) at /home/gridsan/aramadhan/.julia/packages/GPUArrays/joKVJ/src/abstract_gpu_interface.jl:151
[16] gpu_call(::Function, ::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}, ::Tuple{SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false},Base.Broadcast.Broadcasted{Nothing,Tuple{Base.OneTo{Int64},Base.OneTo{Int64}},typeof(identity),Tuple{Int64}}}) at /home/gridsan/aramadhan/.julia/packages/GPUArrays/joKVJ/src/abstract_gpu_interface.jl:128
[17] copyto! at /home/gridsan/aramadhan/.julia/packages/GPUArrays/joKVJ/src/broadcast.jl:48 [inlined]
[18] copyto! at /home/gridsan/aramadhan/.julia/packages/GPUArrays/joKVJ/src/broadcast.jl:60 [inlined]
[19] materialize!(::SubArray{Float64,2,CuArray{Float64,3},Tuple{Base.Slice{Base.OneTo{Int64}},Int64,Base.Slice{Base.OneTo{Int64}}},false}, ::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int64}}) at ./broadcast.jl:756
[20] top-level scope at none:0
The text was updated successfully, but these errors were encountered:
It seems that assigning a number to a CuArray slice via broadcast fails now. It must have worked in the past (probably in v1.0.2) one of my tests just broke but maybe this is the new intended behavior.
I'm using CuArrays v1.1.0, CUDAnative v2.2.1, and CUDAdrv v3.1.0.
Minimal working example:
The text was updated successfully, but these errors were encountered: