-
Notifications
You must be signed in to change notification settings - Fork 244
Open
Labels
bugSomething isn't workingSomething isn't workingcuda librariesStuff about CUDA library wrappers.Stuff about CUDA library wrappers.help wantedExtra attention is neededExtra attention is needed
Description
Describe the bug
The power of the adjoint of a CuSparseMatrix
does not work anymore. It is only related to Julia v1.10 and not to previous versions.
To reproduce
The Minimal Working Example (MWE) for this bug:
using CUDA
using CUDA.CUSPARSE
CUDA.allowscalar(false)
using LinearAlgebra
using SparseArrays
A = sprand(ComplexF64, 100, 100, 0.1)
A_gpu = cu(A)
julia> A_gpu'^2
ERROR: MethodError: no method matching CuSparseMatrixCSC{ComplexF64, Int32}(::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}})
Closest candidates are:
CuSparseMatrixCSC{Tv, Ti}(::CuArray{<:Integer, 1}, ::CuArray{<:Integer, 1}, ::CuArray{T, 1} where T, ::Tuple{var"#s1271", var"#s1271"} where var"#s1271"<:Integer) where {Tv, Ti<:Integer}
@ CUDA ~/.julia/packages/CUDA/rXson/lib/cusparse/array.jl:43
CuSparseMatrixCSC{Tv, Ti}(::Diagonal) where {Tv, Ti}
@ CUDA ~/.julia/packages/CUDA/rXson/lib/cusparse/conversions.jl:241
Stacktrace:
[1] convert(T::Type{CuSparseMatrixCSC{ComplexF64, Int32}}, m::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}})
@ CUDA.CUSPARSE ~/.julia/packages/CUDA/rXson/lib/cusparse/array.jl:16
[2] to_power_type(x::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}})
@ Base ./intfuncs.jl:261
[3] power_by_squaring(x_::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}}, p::Int64)
@ Base ./intfuncs.jl:276
[4] ^(A::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}}, p::Int64)
@ LinearAlgebra ~/.julia/juliaup/julia-1.10.0+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/dense.jl:479
[5] literal_pow(f::typeof(^), x::Adjoint{ComplexF64, CuSparseMatrixCSC{ComplexF64, Int32}}, ::Val{2})
@ Base ./intfuncs.jl:351
[6] top-level scope
@ REPL[8]:1
[7] top-level scope
@ ~/.julia/packages/CUDA/rXson/src/initialization.jl:208
Version info
Details on Julia:
Julia Version 1.10.0
Commit 3120989f39b (2023-12-25 18:01 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 32 × 13th Gen Intel(R) Core(TM) i9-13900KF
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, goldmont)
Threads: 24 on 32 virtual cores
Environment:
JULIA_NUM_THREADS = 16
Details on CUDA:
CUDA runtime 12.3, artifact installation
CUDA driver 12.3
NVIDIA driver 546.9.0
CUDA libraries:
- CUBLAS: 12.3.4
- CURAND: 10.3.4
- CUFFT: 11.0.12
- CUSOLVER: 11.5.4
- CUSPARSE: 12.2.0
- CUPTI: 21.0.0
- NVML: 12.0.0+545.30
Julia packages:
- CUDA: 5.1.2
- CUDA_Driver_jll: 0.7.0+1
- CUDA_Runtime_jll: 0.10.1+0
Toolchain:
- Julia: 1.10.0
- LLVM: 15.0.7
1 device:
0: NVIDIA GeForce RTX 4090 (sm_89, 20.981 GiB / 23.988 GiB available)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingcuda librariesStuff about CUDA library wrappers.Stuff about CUDA library wrappers.help wantedExtra attention is neededExtra attention is needed