-
Notifications
You must be signed in to change notification settings - Fork 90
Open
Description
I got the following error when I tried simple transposing a gpuarray. I was using the most recent GPUArray and CUDAnative, Julia 0.6 and mac os 10.12.6.
julia> b = z';
ERROR: MethodError: no method matching copy!(::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::CartesianRange{CartesianIndex{2}}, ::Array{Float64,1}, ::CartesianRange{CartesianIndex{1}})
Closest candidates are:
copy!(::GPUArrays.AbstractAccArray{T,N} where N, ::CartesianRange{CartesianIndex{1}}, ::AbstractArray{T,N} where N, ::CartesianRange{CartesianIndex{1}}) where T at /Users/shhong/.julia/v0.6/GPUArrays/src/abstractarray.jl:271
copy!(::GPUArrays.AbstractAccArray, ::Integer, ::AbstractArray, ::Integer, ::Integer) at /Users/shhong/.julia/v0.6/GPUArrays/src/abstractarray.jl:254
copy!(::AbstractArray, ::Integer, ::AbstractArray) at abstractarray.jl:672
...
Stacktrace:
[1] setindex!(::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Float64, ::Int64, ::Int64) at /Users/shhong/.julia/v0.6/GPUArrays/src/abstractarray.jl:382
[2] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:68
[3] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:74
[4] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:78
[5] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:74
[6] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:78
[7] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:74
[8] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:78
[9] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:74
[10] transposeblock!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::Int64, ::Int64, ::Int64, ::Int64) at ./linalg/transpose.jl:78
[11] transpose_f!(::Base.#transpose, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}) at ./linalg/transpose.jl:59
[12] transpose!(::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}, ::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}) at ./linalg/transpose.jl:16
[13] transpose(::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}) at ./linalg/transpose.jl:121
[14] ctranspose(::GPUArrays.GPUArray{Float64,2,CUDAdrv.CuArray{Float64,2},GPUArrays.CUBackend.CUContext}) at ./linalg/transpose.jl:130
Metadata
Metadata
Assignees
Labels
No labels