Skip to content

ldbc/ldbc_graphalytics_platforms_igraph

Repository files navigation

igraph driver for LDBC Graphalytics

Platform driver for the LDBC Graphalytics benchmark using the building blocks of the GraphBLAS standard and its SuiteSparse:GraphBLAS reference implementation.

To execute the Graphalytics benchmark on GraphBLAS, follow the steps in the Graphalytics tutorial on Running Benchmark with the GraphBLAS-specific instructions listed below.

Contributors

  • Bálint Hegyi (Budapest University of Technology and Economics)
  • Márton Elekes (Budapest University of Technology and Economics)
  • Gábor Szárnyas (Budapest University of Technology and Economics, CWI Amsterdam)

Prerequisites

Install CMake (the package in Ubuntu 18.04 satisfies the minimum version requirements):

sudo apt install cmake

Set up Make to run in parallel:

export JOBS=$(nproc)

The default compiler on most Linux system is the GCC. To use the Intel C++ Compiler, get a license, install it, configure it, and issue the following commands:

export CC=icc
export CXX=icc

Get SuiteSparse:GraphBLAS v3.2.0+, decompress it and install:

git clone --depth 1 --branch v3.2.0 --single-branch https://github.com/DrTimothyAldenDavis/GraphBLAS
cd GraphBLAS
make && sudo make install && sudo ldconfig
cd ..

Get LAGraph, and install it:

git clone https://github.com/GraphBLAS/LAGraph
cd LAGraph
make && sudo make install && sudo ldconfig
cd ..

Configure the benchmark

Follow the steps given in the LDBC Graphalytics wiki.

To initialize the benchmark package, run:

./init.sh MY_GRAPH_DIR [MY_MATRICES_DIR]

where

  • MY_GRAPH_DIR is the directory of the graphs and the validation data. The default value is ~/graphs.
  • MY_MATRICES_DIR (optional) is the directory of the pre-generated matrix files (in Matrix Market or binary format). The default value is ~/matrices.

Edit the rest of the configurations (e.g. graphs to be included in the benchmark) in the config directory. Also, inspect config/platform.properties and check the value of platform.graphblas.num-threads.

Run the benchmark with:

bin/sh/run-benchmark.sh

Docker

There's a Dockerfile included which shows how to compile GraphBLAS, LAGraph and how to use this driver.

To build it, run:

docker build . --tag ldbc/graphalytics-graphblas

Depending on the number of CPU cores and the speed of your internet connection, building the image takes approx. 3-30 minutes.