Replies: 1 comment
-
|
Yes, you can remove that dependency. GraphBLAS can be compiled and used without requiring the entire SuiteSparse meta-library. it has its own github repo: https://github.com/DrTimothyAldenDavis/GraphBLAS and can be used directly from there. It uses no libraries from the rest of SuiteSparse. I do use a few common *.cmake files that appear both here: I keep these two copies of GraphBLAS in sync, as well: There's no other connection between GraphBLAS and SuiteSparse. I call my GraphBLAS library "SuiteSparse:GraphBLAS" because the term "GraphBLAS" by itself is not necessarily unique, rather like the word "BLAS" is not unique. There is another library that is compliant with the GraphBLAS C API, by IBM (but it is only meant as a proof-of-concept of the C API, and not meant to be a high performance library). Likewise, LAGraph (if you want to use it in the future) is in my SuiteSparse meta-library, but it only depends on SuiteSparse:GraphBLAS (it can't use a general purpose GraphBLAS library just now; some methods won't work). The LAGraph repo is at https://github.com/GraphBLAS/LAGraph. The github CI for that package gets GraphBLAS from its own repo, not from inside the SuiteSparse meta library. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Right now in Julia, we download the SuiteSparse sources and build the GraphBLAS library from there whenever we pull in a new SuiteSparse release. Like all the other SuiteSparse-derived packages we have, we currently have a dependency on SuiteSparse in the resulting GraphBLAS package (this is added for things like the common libraries, etc.).
But, since SuiteSparse:GraphBLAS is actually a separate project, does it use these common SuiteSparse libraries, so do we need to have a dependency from GraphBLAS back to SuiteSparse when built from this repo? It would be nicer if we could remove that dependency, because the way SuiteSparse is integrated into Julia means we can't allow users to upgrade it yet, and so this limits new GraphBLAS versions to only new versions of Julia. Without that dependency, GraphBLAS could be installed on older Julia versions.
(xref JuliaPackaging/Yggdrasil#12801 (comment))
Beta Was this translation helpful? Give feedback.
All reactions