Skip to main content

Table 2 Most recent and well-known graph partitioning techniques suitable for FPGA implementation

From: Distributed large-scale graph processing on FPGAs

Graph partitioning algorithm

Methodology

Programming Language

Graph partitioning

Source code

Platform

Year

GridGraph [73]

Grid partition of edges

C++

Store edge partition blocks on disk

Public

CPU

2015

Lumos [57]

Grid partition of edges plus cross-iteration propagation values support bulk synchronous processing

C++

Store edge partitions as blocks on disk

Public

CPU

2020

FabGraph [51]

Grid partition of edges plus hash partitioning to support power law graphs

C++

Store partition blocks on disk

not public

Multi-FPGA

2019

PowerGraph [31]

Vertex-cut partitioning

C++, Java, Scala

Partitioning during Runtime

Public

CPU

2013

Graphchi [37]

Shard-interval partitioning plus sorting, asynchronous processing

HLS

Partitioning during Runtime

Public

Multi-FPGA

2021

ThunderGP [16]

Vertex-cut partitioning

HLS-C/C++

Partitioning during Runtime

Public

single-FPGA

2021

Foregraph [19]

Shard-interval

HDL

Partitioning during Runtime

not Public

Multi-FPGA

2017