GPU sparse matrix-vector product with DoubleFloats.jl

Is it possible to use mul! with a CUDA sparse array and CuVectors using DoubleFloats.jl?

The following code leads to scalar indexing:

using CUDA, SparseArrays, LinearAlgebra, DoubleFloats
T = Double64
a = CUDA.zeros(T, 10)
b = CUDA.ones(T, 10)
A = sprand(T, 10, 10, 0.2)
Agpu = CUDA.CUSPARSE.CuSparseMatrixCSC(A)
mul!(a, Agpu, b) # error

However using a dense array works fine:

A = CUDA.ones(T, 10, 10)
mul!(a, A, b)

No, we don’t have a native mul! for sparse arrays so you’re only allowed to use types that CUSPARSE supports.

OK Thank you. Do you know if there is a Julia implementation of mul! for CUDA sparse arrays somewhere, even if it is slower?

Not that I know.