Skip to content

Latest commit

 

History

History
386 lines (200 loc) · 23.6 KB

README.md

File metadata and controls

386 lines (200 loc) · 23.6 KB

Reading List

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.

The long list from MIT

Other List

GNN papers

NN-on-Silicon

Getting Started

Papers are listed in the following order:

Graph Sampling Accelerators

Graph Sampling with Fast Random Walker on HBM-enabled FPGA Accelerators FPL'21

Graph Mining Accelerators

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

Graph Learning Accelerators

A Collection

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

I-GCN: A Graph Convolutional Network Accelerator with Runtime Locality Enhancement through Islandization MICRO'21

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

Graph Sampling Frameworks

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

GraphWalker: An I/O-Efficient and Resource-Friendly Graph Analytic System for Fast and Scalable Random Walks ATC'20

Graph Mining Systems

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

GraphPi website SC'20

Graph Learning Systems

Distributed Hybrid CPU and GPU training for Graph Neural Networks on Billion-Scale Heterogeneous Graphs

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

CAGNET website SC'20

AGL: a scalable system for industrial-purpose graph machine learning VLDB'20

Accurate, Efficient and Scalable Graph Embedding IPDPS'19

Graph Learning Algorithms

Structure-Aware Transformer for Graph Representation Learning ICML'22

Do Transformers Really Perform Badly for Graph Representation? NeurIPS 2021

GraphGPS GraphGPS website

Spectral attention network

Learn Locally, Correct Globally: A Distributed Algorithm for Training Graph Neural Networks ICLR 2022

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

Graph Analytics Accelerators

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

GraphSAR: A Sparsity-Aware Processing-in-Memory Architecture for Large-Scale Graph Processing on ReRAMs ASPDAC'19

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

GaaS-X: Graph Analytics Accelerator Supporting Sparse Data Representation Using Crossbar Architectures 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

Graph Analytics Systems

Galois

Ligra

PowerGraph

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

Graph Mining Algorithms

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

Graph Querying Systems

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

Graphflow

Schemaless and Structureless Graph Querying VLDB 2014

GraphDB: Modeling and Querying Graphs in Databases VLDB 1994

Graph Clustering and Coarsening

Scaling Up Graph Neural Networks Via Graph Coarsening

Sparse Linear Algebra

TileSpGEMM: A Tiled Algorithm for Parallel Sparse General Matrix-Matrix Multiplication on GPUs PPoPP 2022

Survey Papers and Books

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

Programming Massively Parallel Processors