Enable Sparse Krylov for non-Nvidia GPUs #776
-
I have a question on how to enable sparse Krylov for non-Nvidia GPUs, specifically for Intel GPU using oneAPI.jl. The document states that:
Is there a list of CUSPASE routines that are needed in order to make sparse Krylov.jl to work on Intel GPUs? Thanks! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 4 replies
-
Hi @pengtu!
|
Beta Was this translation helpful? Give feedback.
Hi @pengtu!
We need the support of sparse matrix - dense vector products in oneAPI.jl to enable sparse Krylov on Intel GPUs.
We need to add a
oneSparseMatrixCSR
format for example in oneAPI.jl and a dispatch formul!(y::oneVector{T}, A::oneSparseMatrixCSR{T}, x::oneVector{T})
/mul(y, A', x)
.CUSPARSE has routines to compute IC(0) and ILU(0) preconditioners of CuSparseMatrixCSC / CuSparseMatrixCSR on the device. If Intel proposes similar preconditioners we should interface these functions. If we don't have any GPU accelerated preconditioners on Intel GPUs, we are still able to compute them on the host and after preform the sparse triangular solves on the device (spsv).
We need to inte…