You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
An intern I supervise (@AntoineBut) is currently working on a cross-platform sparse matrix library with KernelAbstractions.jl (https://github.com/AntoineBut/GPUGraphs.jl). Part of this work involves benchmarking against cuSPARSE, but only some matrix formats can be accessed through the CUDA.jl interface. In particular, the SELL format (https://docs.nvidia.com/cuda/cusparse/#sliced-ellpack-sell), described by NVIDIA as the state of the art in many situations, is not available from Julia.
Describe the solution you'd like
Would it be possible to implement a CuSparseMatrixSELL in CUDA.CUSPARSE, the same way that CSC and CSR formats already exist?
Describe alternatives you've considered
Calling directly into the C API is not user-friendly for people who only know Julia.
Thanks for following up!
At the moment, we'd mostly need
construction utilities
matrix-vector products
possibly matrix-matrix products
The context is graph traversal algorithms, where the sparse matrix represents the adjacency structure. The multiplications involved there use non-standard algebras (like max-plus) but to check that our custom KA kernels are not too terrible, we benchmark multiplication with the normal (plus-times) algebra against cuSPARSE. In those experiments, the hand rolled SELL format performs best, hence the need to compare it with its cuSPARSE counterpart.
gdalle
changed the title
CuSparse bindings for Sliced Ellpack (SELL) format
cuSPARSE bindings for Sliced ELLpack (SELL) format
May 26, 2025
Uh oh!
There was an error while loading. Please reload this page.
Is your feature request related to a problem? Please describe.
An intern I supervise (@AntoineBut) is currently working on a cross-platform sparse matrix library with KernelAbstractions.jl (https://github.com/AntoineBut/GPUGraphs.jl). Part of this work involves benchmarking against cuSPARSE, but only some matrix formats can be accessed through the CUDA.jl interface. In particular, the SELL format (https://docs.nvidia.com/cuda/cusparse/#sliced-ellpack-sell), described by NVIDIA as the state of the art in many situations, is not available from Julia.
Describe the solution you'd like
Would it be possible to implement a
CuSparseMatrixSELL
inCUDA.CUSPARSE
, the same way that CSC and CSR formats already exist?Describe alternatives you've considered
Calling directly into the C API is not user-friendly for people who only know Julia.
Additional context
@amontoison this might be for you
The text was updated successfully, but these errors were encountered: