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.
- 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)
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 ..
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
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.