# GraphMat: High performance graph analytics made productive

arXiv: https://arxiv.org/abs/1503.07241 · HTML: https://mlsanity.com/paper/1503.07241/

## Key facts

- Cited by 3 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 25 Mar 2015.

## Built on by (most cited first, 3 of 3)

- [GNNSampler: Bridging the Gap between Sampling Algorithms of GNN and Hardware](https://mlsanity.com/paper/2108.11571/) (2021)
- [Enterprise-Scale Search: Accelerating Inference for Sparse Extreme Multi-Label Ranking Trees](https://mlsanity.com/paper/2106.02697/) (2021)
- [Phases, Modalities, Temporal and Spatial Locality: Domain Specific ML Prefetcher for Accelerating Graph Analytics](https://mlsanity.com/paper/2212.05250/) (2022)

## Abstract (arXiv)

Given the growing importance of large-scale graph analytics, there is a need to improve the performance of graph analysis frameworks without compromising on productivity. GraphMat is our solution to bridge this gap between a user-friendly graph analytics framework and native, hand-optimized code. GraphMat functions by taking vertex programs and mapping them to high performance sparse matrix operations in the backend. We get the productivity benefits of a vertex programming framework without sacrificing performance. GraphMat is in C++, and we have been able to write a diverse set of graph algorithms in this framework with the same effort compared to other vertex programming frameworks. GraphMat performs 1.2-7X faster than high performance frameworks such as GraphLab, CombBLAS and Galois. It achieves better multicore scalability (13-15X on 24 cores) than other frameworks and is 1.2X off native, hand-optimized code on a variety of different graph algorithms. Since GraphMat performance depends mainly on a few scalable and well-understood sparse matrix operations, GraphMatcan naturally benefit from the trend of increasing parallelism on future hardware.
