@@ -2,8 +2,8 @@ module QuantumToolboxCUDAExt
22
33using QuantumToolbox
44using QuantumToolbox: makeVal, getVal
5- import QuantumToolbox: _sparse_similar, _convert_eltype_wordsize
6- import CUDA: cu, CuArray, allowscalar, @allowscalar , has_cuda, AbstractCuArray
5+ import QuantumToolbox: _sparse_similar, _convert_eltype_wordsize, allowed_setindex!
6+ import CUDA: cu, CuArray, allowscalar, @allowscalar , has_cuda
77import CUDA. CUSPARSE: CuSparseVector, CuSparseMatrixCSC, CuSparseMatrixCSR, AbstractCuSparseArray
88import SparseArrays: SparseVector, SparseMatrixCSC, sparse, spzeros
99import CUDA. Adapt: adapt
@@ -104,11 +104,11 @@ QuantumToolbox.to_dense(::Type{T}, A::AbstractCuSparseArray) where {T<:Number} =
104104
105105QuantumToolbox. _sparse_similar (A:: CuSparseMatrixCSC , args... ) = sparse (args... , fmt = :csc )
106106QuantumToolbox. _sparse_similar (A:: CuSparseMatrixCSR , args... ) = sparse (args... , fmt = :csr )
107- _sparse_similar (A:: CuSparseMatrixCSC , I:: AbstractVector , J:: AbstractVector , V:: AbstractVector , m:: Int , n:: Int ) =
107+ QuantumToolbox . _sparse_similar (A:: CuSparseMatrixCSC , I:: AbstractVector , J:: AbstractVector , V:: AbstractVector , m:: Int , n:: Int ) =
108108 CuSparseMatrixCSC (sparse (I, J, V, m, n))
109- _sparse_similar (A:: CuSparseMatrixCSC , m:: Int , n:: Int ) = CuSparseMatrixCSC (spzeros (eltype (A), m, n))
110- _sparse_similar (A:: CuSparseMatrixCSR , I:: AbstractVector , J:: AbstractVector , V:: AbstractVector , m:: Int , n:: Int ) =
109+ QuantumToolbox . _sparse_similar (A:: CuSparseMatrixCSC , m:: Int , n:: Int ) = CuSparseMatrixCSC (spzeros (eltype (A), m, n))
110+ QuantumToolbox . _sparse_similar (A:: CuSparseMatrixCSR , I:: AbstractVector , J:: AbstractVector , V:: AbstractVector , m:: Int , n:: Int ) =
111111 CuSparseMatrixCSR (sparse (I, J, V, m, n))
112- _sparse_similar (A:: CuSparseMatrixCSR , m:: Int , n:: Int ) = CuSparseMatrixCSR (spzeros (eltype (A), m, n))
113- allowed_setindex! (A:: AbstractCuSparseArray , v, I... ) = @allowscalar A[I... ] = v
112+ QuantumToolbox . _sparse_similar (A:: CuSparseMatrixCSR , m:: Int , n:: Int ) = CuSparseMatrixCSR (spzeros (eltype (A), m, n))
113+ QuantumToolbox . allowed_setindex! (A:: AbstractCuSparseArray , v, I... ) = @allowscalar A[I... ] = v
114114end
0 commit comments