https://github.com/ldbc/ldbc_graphalytics_platforms_igraph
https://github.com/ldbc/ldbc_graphalytics_platforms_igraph
graphalytics ldbc
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ldbc/ldbc_graphalytics_platforms_igraph
- Owner: ldbc
- License: apache-2.0
- Created: 2022-11-22T21:11:58.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T19:20:50.000Z (over 1 year ago)
- Last Synced: 2025-02-05T04:51:15.720Z (over 1 year ago)
- Topics: graphalytics, ldbc
- Language: Java
- Homepage:
- Size: 200 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# igraph driver for LDBC Graphalytics
Platform driver for the [LDBC Graphalytics benchmark](https://graphalytics.org) using the building blocks of the [GraphBLAS standard](http://graphblas.org/) and its [SuiteSparse:GraphBLAS reference implementation](http://faculty.cse.tamu.edu/davis/GraphBLAS.html).
To execute the Graphalytics benchmark on GraphBLAS, follow the steps in the Graphalytics tutorial on [Running Benchmark](https://github.com/ldbc/ldbc_graphalytics/wiki/Manual%3A-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):
```bash
sudo apt install cmake
```
Set up Make to run in parallel:
```bash
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](https://github.com/FTSRG/cheat-sheets/wiki/GraphBLAS), and issue the following commands:
```bash
export CC=icc
export CXX=icc
```
Get [SuiteSparse:GraphBLAS v3.2.0+](http://faculty.cse.tamu.edu/davis/GraphBLAS.html), decompress it and install:
```bash
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](https://github.com/GraphBLAS/LAGraph), and install it:
```bash
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](https://github.com/ldbc/ldbc_graphalytics/wiki).
To initialize the benchmark package, run:
```bash
./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:
```bash
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:
```bash
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.