Is wrapping GPUQREngine anywhere on the agenda?



Is there any simple way to do QR decomposition of a sparse matrix on the GPU in Julia? I believe GPUQREngine of SuiteSparse is an obvious choice to wrap, so I wonder if anyone has gotten around to do it, or if it is anywhere on the agenda. ArrayFire.jl supports QR decomposition on dense matrices, and Julia Base supports QR on sparse matrices using SPQR of SuiteSparse, with some extra digging to multiply the Q matrix using SparseArrays.SPQR.qmult, so it seems like sparse QR on the GPU is the only one left. Are there other alternatives you know of?


Obviously we’d love to just have everything wrapped, so if anyone has time we can make sure to integrate it nicely.
Sparse stuff is a bit lower on the priority list, as far as I’m concerned.
We might get dense QR quite soon via CUSOLVER.jl.
CUSOLVER basically just needs a refresh for 0.6 and all the recent changes from the CUDA ecosystem.


I see. If I end up needing it so badly, I will attempt to do it myself. CUSOLVER looks promising not just for QR, but currently ArrayFire is good enough for me.


As far as I’m concerned, ArrayFire uses CUSOLVER for QR, so that should end up very similar :wink:


Yup, good luck anyways!