TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

GraphBLAS – Graph algorithms in the language of linear algebra

289 pointsby johloabout 5 years ago

12 comments

szarnyasgabout 5 years ago
I have created a tutorial slideshow on the theory of GraphBLAS with lots of examples and step-by-step illustrations: <a href="http:&#x2F;&#x2F;mit.bme.hu&#x2F;~szarnyas&#x2F;grb&#x2F;graphblas-introduction.pdf" rel="nofollow">http:&#x2F;&#x2F;mit.bme.hu&#x2F;~szarnyas&#x2F;grb&#x2F;graphblas-introduction.pdf</a><p>A shorter version of this tutorial was recorded at FOSDEM earlier this year: <a href="https:&#x2F;&#x2F;fosdem.org&#x2F;2020&#x2F;schedule&#x2F;event&#x2F;graphblas&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fosdem.org&#x2F;2020&#x2F;schedule&#x2F;event&#x2F;graphblas&#x2F;</a><p>More papers&#x2F;tutorials&#x2F;libraries are listed at <a href="https:&#x2F;&#x2F;github.com&#x2F;GraphBLAS&#x2F;GraphBLAS-Pointers" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;GraphBLAS&#x2F;GraphBLAS-Pointers</a>.
评论 #23287887 未加载
FabHKabout 5 years ago
This interview with Tim Davis has a bit of background information.<p><a href="https:&#x2F;&#x2F;www.acm.org&#x2F;articles&#x2F;people-of-acm&#x2F;2019&#x2F;tim-davis" rel="nofollow">https:&#x2F;&#x2F;www.acm.org&#x2F;articles&#x2F;people-of-acm&#x2F;2019&#x2F;tim-davis</a><p>&gt; I picked Gaussian elimination. &quot;That will be quick,&quot; I thought. Not! I got started on matrices in 1985 and I&#x27;m not done with Gaussian elimination yet.<p>&gt; GraphBLAS is a community effort, including industry, academics, and government labs, that is working to design a library that can implement graph algorithms based on sparse linear algebra over semirings. There are lots of great graph libraries out there that don&#x27;t exploit the linear algebraic abstraction, but most of what they do can be viewed as matrix operations on adjacency matrices. GraphBLAS makes the connection to linear algebra explicit.<p>&gt; GraphBLAS gives the graph algorithm developer the power and abstraction of linear algebra, with all its advantages (associative and distributive laws, AB=(B&#x27;A&#x27;)&#x27;, and so on). One level of breadth-first search, for example, is a single sparse matrix-times-sparse vector multiply, with no loss of asymptotic efficiency. Google&#x27;s entire PageRank computation can be done with a handful of iterations around a single call to GraphBLAS, using what I call the &quot;PageRank semiring.&quot;
评论 #23286793 未加载
评论 #23286846 未加载
评论 #23297549 未加载
chrisaycockabout 5 years ago
RedisGraph uses GraphBLAS:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;RedisGraph&#x2F;RedisGraph&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;RedisGraph&#x2F;RedisGraph&#x2F;</a><p>Their paper claims that computing with adjacency (sparse) matrices is more performant than alternatives:<p><a href="https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;1905.01294.pdf" rel="nofollow">https:&#x2F;&#x2F;arxiv.org&#x2F;pdf&#x2F;1905.01294.pdf</a><p>They compile queries written in Cypher (Neo4j&#x27;s language) to operations in linear algebra. An example query is:<p><pre><code> MATCH (n:actor{name:&quot;Nicolas Cage&quot;})-[:act]-&gt;(m:movie)&lt;-[:act]-(a:actor) RETURN a.name, m.title</code></pre>
评论 #23288217 未加载
nimishabout 5 years ago
Is there a treatment of graph algorithms in linear algebra from the basics anywhere?
评论 #23286828 未加载
评论 #23286795 未加载
评论 #23286672 未加载
评论 #23286617 未加载
codecoinbotalmost 5 years ago
Shameless self promotion, I started a rust wrapper as my first project for GraphBLAS<p><a href="https:&#x2F;&#x2F;github.com&#x2F;fabianmurariu&#x2F;rustgraphblas" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fabianmurariu&#x2F;rustgraphblas</a><p>and a JNI wrapper<p><a href="https:&#x2F;&#x2F;github.com&#x2F;fabianmurariu&#x2F;graphblas-java-native" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;fabianmurariu&#x2F;graphblas-java-native</a><p>They are not 100% complete, the JNI one is not published yet and only works on linux
ameliusabout 5 years ago
There is also a Python wrapper:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;michelp&#x2F;pygraphblas" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;michelp&#x2F;pygraphblas</a>
mark_l_watsonabout 5 years ago
Sounds like a good idea with an added benefit that there are BLAS interfaces for many programming languages.
ablmfabout 5 years ago
Can you guys give some real world examples of what graphs algorithms people are actually using in applications?
评论 #23291457 未加载
评论 #23291456 未加载
评论 #23292193 未加载
评论 #23290487 未加载
ajflores1604about 5 years ago
For those like me who prefer watching talks, Tim Davis presented for Redis a year or two ago.<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;xnez6tloNSQ" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;xnez6tloNSQ</a>
chrisseatonabout 5 years ago
Is there a short example somewhere of what it looks like in practice?
评论 #23286569 未加载
评论 #23286484 未加载
评论 #23286380 未加载
评论 #23286697 未加载
wrnrabout 5 years ago
Is their a similar connection from algebra to hyper-graph (semantic graphs)?
评论 #23288493 未加载
nooberminabout 5 years ago
The reference is written in C apparently...