Seastar: vertex-centric programming for graph neural networks
Graph neural networks (GNNs) have achieved breakthrough performance in graph analytics such as node classification, link prediction and graph clustering. Many GNN training frameworks have been developed, but they are usually designed as a set of manually written, GNN-specific operators plugged into existing deep learning systems, which incurs high memory consumption, poor data locality, and large semantic gap between algorithm design and implementation. This paper proposes the Seastar system, which presents a vertex-centric programming model for GNN training on GPU and provides idiomatic python constructs to enable easy development of novel homogeneous and heterogeneous GNN models. We also propose novel optimizations to produce highly efficient fused GPU kernels for forward and backward passes in GNN training. Compared with the state-of-the art GNN systems, DGL and PyG, Seastar achieves better usability, up to 2 and 8 times less memory consumption, and 14 and 3 times faster execution, respectively.
Code (0)
등록된 구현이 없습니다.
Tasks
GPUGraph ClusteringLink PredictionNode ClassificationSimilar Papers 제목 키워드 기반
Vertex-Centric Visual Programming for Graph Neural Networks
Graph neural networks (GNNs) have achieved remarkable performance in many graph analytics tasks such as node classification, link prediction and graph clustering. Existing GNN systems (e.g., PyG and DGL) adopt a tensor-c…
Graph ClusteringLink PredictionNode ClassificationCavs: A Vertex-centric Programming Interface for Dynamic Neural Networks
Recent deep learning (DL) models have moved beyond static network architectures to dynamic ones, handling data where the network structure changes every example, such as sequences of variable lengths, trees, and graphs. …
Dynamic neural networksgraph constructionManagementSchedulingRhizomes and Diffusions for Processing Highly Skewed Graphs on Fine-Grain Message-Driven Systems
The paper provides a unified co-design of 1) a programming and execution model that allows spawning tasks from within the vertex data at runtime, 2) language constructs for \textit{actions} that send work to where the da…
A Hypergraph-Partitioned Vertex Programming Approach for Large-scale Consensus Optimization
In modern data science problems, techniques for extracting value from big data require performing large-scale optimization over heterogenous, irregularly structured data. Much of this data is best represented as multi-re…
hypergraph partitioningVMap: An Interactive Rectangular Space-filling Visualization for Map-like Vertex-centric Graph Exploration
We present VMap, a map-like rectangular space-filling visualization, to perform vertex-centric graph exploration. Existing visualizations have limited support for quality optimization among rectangular aspect ratios, ver…
Layout Generation