@@ -154,8 +154,8 @@ const ROCSparseMatrix{Tv, Ti} = Union{
154154
155155const ROCSparseVecOrMat = Union{ROCSparseVector, ROCSparseMatrix}
156156
157- # NOTE: we use Cint as default Ti on CUDA instead of Int to provide
158- # maximum compatiblity to old CUSPARSE APIs
157+ # NOTE: we use Cint as default Ti on ROCm instead of Int to provide
158+ # maximum compatiblity to old ROCSparse APIs
159159# The same pattern was followed for AMDGPU as well
160160function ROCSparseVector {Tv} (iPtr:: ROCVector{<:Integer} , nzVal:: ROCVector , len:: Integer ) where Tv
161161 ROCSparseVector {Tv, Cint} (convert (ROCVector{Cint}, iPtr), nzVal, len)
@@ -284,6 +284,7 @@ SparseArrays.nnz(g::AbstractROCSparseArray) = g.nnz
284284SparseArrays. nonzeros (g:: AbstractROCSparseArray ) = g. nzVal
285285
286286SparseArrays. nonzeroinds (g:: AbstractROCSparseVector ) = g. iPtr
287+ SparseArrays. rowvals (g:: AbstractROCSparseVector ) = nonzeroinds (g)
287288
288289SparseArrays. rowvals (g:: ROCSparseMatrixCSC ) = g. rowVal
289290SparseArrays. getcolptr (g:: ROCSparseMatrixCSC ) = g. colPtr
@@ -422,14 +423,8 @@ ROCSparseMatrixCSC(x::Transpose{T}) where {T} = ROCSparseMatrixCSC{T}(x)
422423ROCSparseMatrixCSC (x:: Adjoint{T} ) where {T} = ROCSparseMatrixCSC {T} (x)
423424
424425# gpu to cpu
425- function SparseVector (x:: ROCSparseVector )
426- SparseVector (length (x), Array (nonzeroinds (x)), Array (nonzeros (x)))
427- end
428-
429- function SparseMatrixCSC (x:: ROCSparseMatrixCSC )
430- SparseMatrixCSC (size (x)... , Array (x. colPtr), Array (rowvals (x)), Array (nonzeros (x)))
431- end
432-
426+ SparseVector (x:: ROCSparseVector ) = SparseVector (length (x), Array (nonzeroinds (x)), Array (nonzeros (x)))
427+ SparseMatrixCSC (x:: ROCSparseMatrixCSC ) = SparseMatrixCSC (size (x)... , Array (x. colPtr), Array (rowvals (x)), Array (nonzeros (x)))
433428SparseMatrixCSC (x:: ROCSparseMatrixCSR ) = SparseMatrixCSC (ROCSparseMatrixCSC (x)) # no direct conversion
434429SparseMatrixCSC (x:: ROCSparseMatrixBSR ) = SparseMatrixCSC (ROCSparseMatrixCSR (x)) # no direct conversion
435430SparseMatrixCSC (x:: ROCSparseMatrixCOO ) = SparseMatrixCSC (ROCSparseMatrixCSR (x)) # no direct conversion
@@ -519,7 +514,7 @@ Base.copy(Mat::ROCSparseMatrixCOO) = copyto!(similar(Mat), Mat)
519514
520515# input/output
521516
522- for (gpu, cpu) in [ROCSparseVector => SparseVector]
517+ for (gpu, cpu) in [: ROCSparseVector => : SparseVector ]
523518 @eval function Base. show (io:: IO , :: MIME"text/plain" , x:: $gpu )
524519 xnnz = length (nonzeros (x))
525520 print (io, length (x), " -element " , typeof (x), " with " , xnnz,
@@ -531,10 +526,10 @@ for (gpu, cpu) in [ROCSparseVector => SparseVector]
531526 end
532527end
533528
534- for (gpu, cpu) in [ROCSparseMatrixCSC => SparseMatrixCSC,
535- ROCSparseMatrixCSR => SparseMatrixCSC,
536- ROCSparseMatrixBSR => SparseMatrixCSC,
537- ROCSparseMatrixCOO => SparseMatrixCSC]
529+ for (gpu, cpu) in [: ROCSparseMatrixCSC => : SparseMatrixCSC ,
530+ : ROCSparseMatrixCSR => : SparseMatrixCSC ,
531+ : ROCSparseMatrixBSR => : SparseMatrixCSC ,
532+ : ROCSparseMatrixCOO => : SparseMatrixCSC ]
538533 @eval Base. show (io:: IOContext , x:: $gpu ) = show (io, $ cpu (x))
539534
540535 @eval function Base. show (io:: IO , mime:: MIME"text/plain" , S:: $gpu )
0 commit comments