There are five categories of graph algorithms:
(1) Graph analytics, e.g., PageRank, SSSP, BFS, betweenness centrality. They are know as vertex programs;
(2) Graph pattern mining (GPM), e.g., k-clique listing, motif counting, graph querying, frequent subgraph mining;
(3) Graph machine learning (GML), e.g., graph embedding, graph neural networks, for node/graph classification, link prediction, etc.;
(4) Graph sampling, e.g., random walk, neighbor sampling, subgraph sampling, layer-wise sampling, etc.
(5) Graph manipulation: graph construction, clustering, partitioning, coarsening, and streaming/dynamic graphs.
We group papers at different levels of the system stack: (1) algorithms; (2) software frameworks/systems; (3) hardware acclerators.
Papers are listed in the following order:
- Graph Sampling Accelerators
- Graph Mining Accelerators
- Graph Learning Accelerators
- Graph Sampling Frameworks
- Graph Mining Systems
- Graph Learning Systems
- Graph Learning Algorithms
- Graph Analytics Accelerators
- Graph Analytics Systems
- Graph Mining Algorithms
- Graph Querying Systems
- Graph Clustering and Coarsening
- Sparse Linear Algebra
- Survey Papers and Books
Graph Sampling with Fast Random Walker on HBM-enabled FPGA Accelerators FPL'21
NDMiner: Accelerating Graph Pattern Mining Using Near Data Processing ISCA 2022
GraphMineSuite VLDB 2021
FINGERS: Exploiting Fine-Grained Parallelism in Graph Mining Accelerators ASPLOS 2022
SparseCore: Stream ISA and Processor Specialization for Sparse Computation ASPLOS'22
SISA: Set-Centric Instruction Set Architecture for Graph Mining on Processing-in-Memory Systems MICRO'21
IntersectX: An Accelerator for Graph Mining
A Locality-Aware Energy-Efficient Accelerator for Graph Mining Applications MICRO'20
The TrieJax Architecture: Accelerating Graph Operations Through Relational Joins ASPLOS'20
Computing Graph Neural Networks: A Survey from Algorithms to Accelerators
Survey on Graph Neural Network Acceleration: An Algorithmic Perspective
Graphite: optimizing graph neural networks on CPUs through cooperative software-hardware techniques ISCA 2022
SmartSAGE: training large-scale graph neural networks using in-storage processing architectures ISCA 2022
Hyperscale FPGA-as-a-service architecture for large-scale distributed graph neural network ISCA 2022
ReGNN: A Redundancy-Eliminated Graph Neural Networks Accelerator HPCA 2022
LISA: Graph Neural Network Based Portable Mapping on Spatial Accelerators HPCA 2022
GCoD: Graph Convolutional Network Acceleration via Dedicated Algorithm and Accelerator Co-Design HPCA 2022
Accelerating Graph Convolutional Networks Using Crossbar-based Processing-In-Memory Architectures HPCA 2022
Crossbar based Processing in Memory Accelerator Architecture for Graph Convolutional Networks ICCAD'21
A Deep Dive Into Understanding The Random Walk-Based Temporal Graph Learning IISWC'21
GCNear: A Hybrid Architecture for Efficient GCN Training with Near-Memory Processing
GCNAX: A Flexible and Energy-efficient Accelerator for Graph Convolutional Neural Networks HPCA'21
Hardware Acceleration of Graph Neural Networks DAC'20
AWB-GCN: A Graph Convolutional Network Accelerator with Runtime Workload Rebalancing MICRO'20
HyGCN: A GCN Accelerator with Hybrid Architecture HPCA'20
GraphACT: Accelerating GCN Training on CPU-FPGA Heterogeneous Platforms FPGA'20
A Taxonomy for Classification and Comparison of Dataflows for GNN Accelerators
Architectural Implication of Graph Neural Networks
GReTA: Hardware Optimized Graph Processing for GNNs
GRIP: A Graph Neural Network Accelerator Architecture
FlashWalker: An In-Storage Accelerator for Graph Random Walks IPDPS 2022
Random Walks on Huge Graphs at Cache Efficiency SOSP'21 FlashMob website
Skywalker: Efficient Alias-method-based Graph Sampling and Random Walk on GPUs PACT'21 Skywalker website
KnightKing: A Fast Distributed Graph RandomWalk Engine SOSP'19 KnightKing website
Accelerating Graph Sampling for Graph Machine Learning using GPUs EuroSys'21 NextDoor website
C-SAW: A Framework for Graph Sampling and Random Walk on GPUs SC'20 C-SAW website
ThunderRW: An In-Memory Graph RandomWalk Engine VLDB'21 ThunderRW website
Memory-Aware Framework for Efficient Second-Order Random Walk on Large Graphs SIGMOD'20
Mnemonic: A Parallel Subgraph Matching System for Streaming Graphs IPDPS 2022
Tesseract: distributed, general graph pattern mining on evolving graphs EuroSys'21
SumPA: Efficient Pattern-Centric Graph Mining with Pattern Abstraction PACT'21
RapidMatch: A Holistic Approach to Subgraph Query Processing VLDB 2021 Website
GPU-Accelerated Subgraph Enumeration on Partitioned Graphs. SIGMOD 2020. Bib entry Slides Video Website
Exploiting Reuse for GPU Subgraph Enumeration. TKDE 2020
First: Fast interactive attributed subgraph matching KDD'17
In-Memory Subgraph Matching: An In-depth Study SIGMOD'2020 website
Efficient Subgraph Matching: Harmonizing Dynamic Programming, Adaptive Matching Order, and Failing Set Together SIGMOD'19 DAF website
Scaling Up Subgraph Query Processing with Efficient Subgraph Matching ICDE'19
Efficient Parallel Subgraph Enumeration on a Single Machine ICDE'19
Fast and Robust Distributed Subgraph Enumeration VLDB'19
Peregrine: A Pattern-Aware Graph Mining System Eurosys'20
Optimizing Subgraph Queries by Combining Binary and Worst-Case Optimal Joins VLDB'19
The Power of Pivoting for Exact Clique Counting WSDM'20
DUALSIM: Parallel Subgraph Enumeration in a Massive Graph on a Single Machine SIGMOD'16
AutoMine SOSP'19
Arabesque SOSP'2015
RStream OSDI'18
Marius++: Large-Scale Training of Graph Neural Networks on a Single Machine
Learn Locally, Correct Globally: A Distributed Algorithm for Training Graph Neural Networks ICLR'22
QGTC: Accelerating Quantized Graph Neural Networks via GPU Tensor Core PPoPP'22
Understanding and Bridging the Gaps in Current GNN Performance Optimizations PPoPP'21
P3: Distributed Deep Graph Learning at Scale OSDI 2021
Dorylus: Affordable, Scalable, and Accurate GNN Training over Billion-Edge Graphs OSDI 2021
GNNAdvisor: An Efficient Runtime System for GNN Acceleration on GPUs OSDI 2021
Marius: Learning Massive Graph Embeddings on a Single Machine OSDI 2021
Large Graph Convolutional Network Training with GPU-Oriented Data Communication Architecture VLDB 2021
Grain: Improving Data Efficiency of Graph Neural Networks via Diversified Influence Maximization VLDB 2021
Rubik: A Hierarchical Architecture for Efficient Graph Learning TCAD'21
fuseGNN: Accelerating Graph Convolutional Neural Network Training on GPGPU ICCAD'20
Deep Graph Library Optimizations for Intel(R) x86 Architecture
Improving the Accuracy, Scalability, and Performance of Graph Neural Networks with Roc MLSys'20 Roc website
FeatGraph: A Flexible and Efficient Backend for Graph Neural Network Systems SC'20 FeatGraph website
GraphSAINT: Graph Sampling Based Inductive Learning Method ICLR'20 GraphSAINT website
Deep Graph Library: Towards Efficient and Scalable Deep Learning on Graphs ICLR'19 DGL website
Fast Graph Representation Learning with PyTorch Geometric ICLR'19 PyG website
NeuGraph: Parallel Deep Neural Network Computation on Large Graphs USENIX ATC'19 NeuGraph website
AGL: a scalable system for industrial-purpose graph machine learning VLDB'20
Accurate, Efficient and Scalable Graph Embedding IPDPS'19
Global Neighbor Sampling for Mixed CPU-GPU Training on Giant Graphs (GNS) KDD 2021 GNS website
GCN meets GPU: Decoupling “When to Sample” from “How to Sample” NeurIPS 2020 LazyGCN website
Count-GNN: Graph Neural Networks for Subgraph Isomorphism Counting (GNN for GPM)
Can Graph Neural Networks Count Substructures? (GNN for GPM)
Graph Transformer Networks (GPM for GNN)
Semi-Supervised Classification with Graph Convolutional Networks ICLR'17 GCN website
The Logical Expressiveness of Graph Neural Networks
How Powerful are Graph Neural Networks? ICLR'19 GIN website
Hierarchical Graph Representation Learning with Differentiable Pooling NeurIPS'18 diffpool website
Inductive Representation Learning on Large Graphs NIPS'17 GraphSAGE website
Stochastic Training of Graph Convolutional Networks with Variance Reduction ICML'18 S-GCN
Adaptive Sampling Towards Fast Graph Representation Learning NIPS'18 AS-GCN website
Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks KDD'19 ClusterGCN website
FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling ICLR'18 FastGCN website
Large-Scale Learnable Graph Convolutional Networks KDD'18 LGCN website
Representation Learning on Graphs with Jumping Knowledge Networks KDD'18 JK-net code
DeepWalk: Online Learning of Social Representations KDD'14
node2vec: Scalable Feature Learning for Networks KDD'16
GraphVite: A High-Performance CPU-GPU Hybrid System for Node Embedding WWW'19 GraphVite website
Hardware-Accelerated Hypergraph Processing with Chain-Driven Scheduling HPCA 2022
ScalaGraph: A Scalable Accelerator for Massively Parallel Graph Processing HPCA 2022
DepGraph: A Dependency-Driven Accelerator for Efficient Iterative Graph Processing HPCA'21
P-OPT: Practical Optimal Cache Replacement for Graph Analytics HPCA'21
ThunderGP: HLS-based Graph Processing Framework on FPGAs FPGA'21
HitGraph: High-throughput Graph Processing Framework on FPGA TPDS'19
Exploiting Locality in Graph Analytics through Hardware-Accelerated Traversal Scheduling MICRO'18
UWB-GCN: Accelerating Graph Convolutional Networks through Runtime Workload Rebalancing
Graphicionado: A High-Performance and Energy Efficient Accelerator for Graph Analytics MICRO'16
GraphR: Accelerating Graph Processing Using ReRAM HPCA'18
GraphQ: Scalable PIM-Based Graph Processing MICRO'19
GraphP: Reducing Communication of PIM-based Graph Processing with Efficient Data Partition HPCA'18
Alleviating Irregularity in Graph Analytics Acceleration: a Hardware/Software Co-Design Approach MICRO'19
GraphABCD: Scaling Out Graph Analytics with Asynchronous Block Coordinate Descent ISCA'20
POSTER: Domain-Specialized Cache Management for Graph Analytics PACT'19 code
Domain-Specialized Cache Management for Graph Analytics HPCA'20
Q100: The architecture and design of a database processing unit ASPLOS'14
Analysis and Optimization of the Memory Hierarchy for Graph Processing Workloads HPCA'19
SCU: a GPU stream compaction unit for graph processing ISCA'19
Balancing Memory Accesses for Energy-Efficient Graph Analytics Accelerators ISLPED'19
Energy Efficient Architecture for Graph Analytics Accelerators ISCA'16
GraphH: A Processing-in-Memory Architecture for Large-Scale Graph Processing TCADICS
GraFBoost: Using accelerated flash storage for external graph analytics ISCA'18
GraphScope: A Unified Engine For Big Graph Processing VLDB 2021
Automating Incremental Graph Processing with Flexible Memoization VLDB 2021
EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal in GPUs VLDB 2021
LOTUS: Locality Optimizing Triangle Counting PPoPP 2022
Efficient Streaming Subgraph Isomorphism with Graph Neural Networks VLDB 2021
On Analyzing Graphs with Motif-Paths VLDB 2021
Symmetric Continuous Subgraph Matching with Bidirectional Dynamic Programming VLDB 2021
Real-time Twitter Recommendation: Online Motif Detection in Large Dynamic Graphs VLDB 2014
Mycelium: Large-Scale Distributed Graph Queries with Differential Privacy SOSP 2021
Columnar Storage and List-based Processing for Graph Database Management Systems VLDB 2021
EmptyHeaded: A Relational Engine for Graph Processing SIGMOD'16
Schemaless and Structureless Graph Querying VLDB 2014
GraphDB: Modeling and Querying Graphs in Databases VLDB 1994
Scaling Up Graph Neural Networks Via Graph Coarsening
TileSpGEMM: A Tiled Algorithm for Parallel Sparse General Matrix-Matrix Multiplication on GPUs PPoPP 2022
Introduction to Graph Neural Networks Book
The Ubiquity of Large Graphs and Surprising Challenges of Graph Processing VLDB'18
Link prediction in complex networks: A survey
Survey on social community detection
Practice of Streaming Processing of Dynamic Graphs: Concepts, Models, and Systems