JuliaSparse / SparseArrays.jl

SparseArrays.jl is a Julia stdlib
https://sparsearrays.juliasparse.org/
Other
89 stars 51 forks source link

GPU component of CHOLMOD as package extension #443

Open loonatick-src opened 11 months ago

loonatick-src commented 11 months ago

Very closely related to this issue in CUDA.jl. It was suggested that the GPU component of SuiteSparse/CHOLMOD could be implemented as a package extension to SparseArrays.jl when CUDA.jl is also available. I would like to contribute to this, but I am not sure if this (i.e. implementing as a package extension) is the right direction for this, and how exactly this would work with both SuiteSparse_jll and SuiteSparse_GPU_jll artifacts.

Would SparseArrays.jl be open for contributions pertaining to this feature?

ViralBShah commented 11 months ago

My understanding is that CHOLMOD does this through an environment variable, with no api change - so an extension should be easy. We have SuiteSparse_GPU_jll artifacts for this, although they perhaps need updating.

@Wimmerer Would an extension be ok?

rayegun commented 11 months ago

It's just an environment variable indeed. We could perhaps just add a function stub that sets and unsets this variable? And implement it in an extension.

The GPU builder, and indeed the normal one, should be updated one more time before we release 1.10.

ViralBShah commented 11 months ago

SS 7.2 build: https://github.com/JuliaPackaging/Yggdrasil/pull/7479 SS 7.2 (GPU): https://github.com/JuliaPackaging/Yggdrasil/pull/7480