-
Notifications
You must be signed in to change notification settings - Fork 87
Open
Description
Problem 1
method ambiguity for Adjoint
julia> Base.mapreducedim!(identity, +, CUDA.zeros(4), CUDA.ones(4,4)')
ERROR: MethodError: mapreducedim!(::typeof(identity), ::typeof(+), ::CuArray{Float32, 1, CUDA.Mem.DeviceBuffer}, ::Adjoint{Float32, CuArray{Float32, 2, CUDA.Mem.DeviceBuffer}}) is ambiguous.
Candidates:
mapreducedim!(f, op, R::AnyGPUArray, A::AbstractArray)
@ GPUArrays ~/.julia/packages/GPUArrays/Hd5Sk/src/host/mapreduce.jl:10
mapreducedim!(f, op::Union{typeof(&), typeof(+), typeof(Base._extrema_rf), typeof(Base.add_sum), typeof(max), typeof(min), typeof(|)}, B::AbstractArray, A::Adjoint{T, <:AbstractMatrix} where T)
@ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/adjtrans.jl:427
Possible fix, define
mapreducedim!(::Any, ::Union{typeof(&), typeof(+), typeof(Base._extrema_rf), typeof(Base.add_sum), typeof(max), typeof(min), typeof(|)}, ::AnyGPUArray, ::Adjoint{T, <:AbstractMatrix} where T)
Stacktrace:
[1] top-level scope
@ REPL[39]:1
[2] top-level scope
@ ~/.julia/packages/CUDA/htRwP/src/initialization.jl:206
Problem 2
not dropping singleton dims
julia> Base.mapreducedim!(identity, +, CUDA.zeros(4), CUDA.ones(4,4,4))
4×1×1 CuArray{Float32, 3, CUDA.Mem.DeviceBuffer}:
[:, :, 1] =
16.0
16.0
16.0
16.0
julia> Base.mapreducedim!(identity, +, zeros(4), ones(4,4,4))
4-element Vector{Float64}:
16.0
16.0
16.0
16.0
Metadata
Metadata
Assignees
Labels
No labels