Gunrock Algorithms#
The following is are a wide variety of graph primitives, including traversal-based (Breadth-First Search, Single-Source Shortest Path); node-ranking (Hyperlink-Induced Topic Search, PageRank); and global (Connected Component, Minimum Spanning Tree) implemented within Gunrock.
The “File” column in the table below shows, which within these applications’ implementations are (e.g. sssp.hxx
). The version number in the “Gunrock” and “Essentials” columns show which API abstraction of gunrock supports the respective application. If you are interested in helping us port an application in the older abstraction (“Gunrock”) to a newer, much cleaner abstraction (“Essentials”), please see our How to write a new graph algorithm guide).
Application |
Directory |
Gunrock |
Essentials |
---|---|---|---|
A* Search |
astar |
v0.5.x |
❌ |
Betweenness Centrality |
bc |
v1.x.x |
v0.0.1 |
Breadth-First Search |
bfs |
v1.x.x |
v0.0.1 |
Connected Components |
cc |
v1.x.x |
❌🌟 |
Graph Coloring |
color |
v1.x.x |
v0.0.1 |
Geolocation |
geo |
v1.x.x |
v0.0.1 |
RMAT Graph Generator |
grmat |
v0.5.x |
❌ |
Graph Trend Filtering |
gtf |
v1.x.x |
❌ |
Hyperlink-Induced Topic Search |
hits |
v1.x.x |
v0.0.1 |
K-Core Decomposition |
kcore |
v1.x.x |
v0.0.1 |
K-Nearest Neighbors |
knn |
v1.x.x |
❌ |
Louvain Modularity |
louvain |
v1.x.x |
❌🌟 |
Label Propagation |
lp |
v0.5.x |
❌ |
MaxFlow |
mf |
v1.x.x |
❌ |
Minimum Spanning Tree |
mst |
v0.5.x |
v0.0.1 |
PageRank |
pr |
v1.x.x |
v0.0.1 |
Local Graph Clustering |
pr_nibble |
v1.x.x |
v0.0.1 |
Graph Projections |
proj |
v1.x.x |
❌ |
Random Walk |
rw |
v1.x.x |
❌🌟 |
GraphSAGE |
sage |
v1.x.x |
❌ |
Stochastic Approach for Link-Structure Analysis |
salsa |
v0.5.x |
❌ |
Subgraph Matching |
sm |
v1.x.x |
❌🌟 |
Shared Nearest Neighbors |
snn |
v1.x.x |
❌ |
Scan Statistics |
ss |
v1.x.x |
❌ |
Sparse-Matrix Vector Multiplication |
spmv |
❌ |
v0.0.1 |
Single Source Shortest Path |
sssp |
v1.x.x |
v0.0.1 |
Triangle Counting |
tc |
v1.x.x |
v0.0.1 |
Top K |
topk |
v0.5.x |
❌ |
Vertex Nomination |
vn |
v1.x.x |
❌ |
Who To Follow |
wtf |
v0.5.x |
❌ |
(🌟 are priority ports, and we’re interested in porting them as soon as possible)