use SuiteSparseGraphBLAS's sparsematrix implementation (GBMatrix)#19
use SuiteSparseGraphBLAS's sparsematrix implementation (GBMatrix)#19CarloLucibello wants to merge 2 commits intomasterfrom
Conversation
|
Can you assign this to me @CarloLucibello? |
04f727e to
6cd2f0a
Compare
|
Sure, thanks! I rebased on master and I guess you should be able to push to this branch now |
|
Ideally, I'd like any sparse matrix backend to act as a drop-in replacement of SparseMatrixCSC, so that it should be possible to easily switch between backends and compare performance. We could even consider introducing a new Then one can look into specializing Unfortunately, I think decent gpu support won't be available for a while for any sparse matrix type (although things are moving a bit in CUDA.jl) |
| end | ||
| if !(A isa AbstractSparseMatrix) | ||
| A = sparse(A) | ||
| A = GBMatrix(sparse(A)) |
There was a problem hiding this comment.
| A = GBMatrix(sparse(A)) | |
| A = GBMatrix(A) |
?
|
I'll have a chance to look at this later in the week. I'll check with the upstream author about the status of the GPU portion, but it'll take a bit for sure. |
it doesn't have to come all together. Actually I would keep the two things separate: first PR we integrate cpu GBMatrix support, then we see what we can do about gpus |
|
SuiteSparse's license seems complicated |
|
We're only using the GraphBLAS part which is compatible (and pretty much separate) IIRC it's Apache 2. SuiteSparse's many other parts are mostly GPL, but we're safe, they are compiled separately and not linked. I did accidentally include SuiteSparse.jl as a dependency in my most recent commit to #master so this is a good remind :). |
|
closing in favor of #222 |
This uses SuiteSparseGraphBLAS.GBMatrix as a replacement for SparseArryas.SparseMatrixCSC.
It looks like many features are missing in GBMatrix though and a ton of tests are not passing.