-
Notifications
You must be signed in to change notification settings - Fork 4
Where to find algorithms
Erik Welch edited this page May 7, 2022
·
4 revisions
Many graph algorithms can be written in GraphBLAS, and, indeed, many already have! These exist in many different locations and in different forms.
As these resources are investigated closer, please update this wiki with info that will be useful for the next reader, and maybe put the most useful links first. One of our goals with graphblas-algorithms
is to create a single location with well-tested, fast, beautiful implementations of graph algorithms. Many of the referenced algorithms will probably need to be modified and cleaned up. By targeting the NetworkX API, we inherit a hardened API and, importantly, tests!
- https://github.com/networkx/networkx/tree/main/networkx/linalg
- https://github.com/networkx/networkx/tree/main/networkx/algorithms/centrality
- https://docs.google.com/spreadsheets/d/1UYcJ8VICOJovp4ctwXSzm3swB-7dXhGB7Kb2AZIeESA/edit#gid=0
- https://github.com/GraphBLAS/GraphBLAS-Pointers
- https://github.com/metagraph-dev/grblas/tree/main/notebooks
- https://github.com/metagraph-dev/metagraph/tree/main/metagraph/plugins/graphblas
- https://github.com/metagraph-dev/grblas-recipes
- https://github.com/GraphBLAS/LAGraph/tree/reorg/experimental/algorithm
- https://github.com/GraphBLAS/LAGraph/tree/reorg/src/algorithm
- https://github.com/Graphegon/pygraphblas/tree/main/demo
- https://github.com/GraphBLAS/HPEC21-TriangleCentrality/blob/main/python/tc.py
- https://docs.scipy.org/doc/scipy/reference/sparse.csgraph.html
- https://github.com/JuliaSparse/SuiteSparseGraphBLAS.jl
- https://github.com/jessecoleman/gbtl-python-bindings
-
https://github.com/rapidsai/cugraph
- This implements the NetworkX API, so looking at what
cugraph
implements may help determine what NetworkX algorithms are implementable and important. - They also have lots of notebooks: https://github.com/rapidsai/cugraph/tree/branch-22.06/notebooks/cugraph_benchmarks
- This implements the NetworkX API, so looking at what
- https://github.com/gunrock/gunrock