Benchmarks suite for performance study of various graph analysis frameworks for CPU/GPU computations.
Name | Brief | Platform | Technology | Source Page |
---|---|---|---|---|
Spla | Generalized linear sparse linear algebra for multi-GPU computation | GPU | OpenCL | link |
GraphBLAST | High-performance linear algebra-based graph primitives on GPUs | GPU | CUDA | link |
Gunrock | High-performance graph primitives on GPUs | GPU | CUDA | link |
LaGraph | Collection of graph algorithms for SuiteSparse:GraphBLAS libray | CPU | OpenMP | link |
Name | Vertices | Edges | Avg Deg | Sd Deg | Min Deg | Max Deg | Link |
---|---|---|---|---|---|---|---|
coAuthorsCiteseer | 227.3K | 1.6M | 7.2 | 10.6 | 0.0 | 1372.0 | link |
mycielskian19 | 393.2K | 903.2M | 2296.4 | 3950.8 | 0.0 | 196606.0 | link |
coPapersDBLP | 540.5K | 30.5M | 56.4 | 66.2 | 0.0 | 3299.0 | link |
amazon-2008 | 735.3K | 7.0M | 9.6 | 7.6 | 0.0 | 1077.0 | link |
hollywood-2009 | 1.1M | 112.8M | 98.9 | 271.9 | 0.0 | 11467.0 | link |
belgium_osm | 1.4M | 3.1M | 2.2 | 0.5 | 0.0 | 10.0 | link |
roadNet-CA | 2.0M | 5.5M | 2.8 | 1.0 | 0.0 | 12.0 | link |
com-Orkut | 3.1M | 234.4M | 76.3 | 154.8 | 0.0 | 33313.0 | link |
cit-Patents | 3.8M | 33.0M | 8.8 | 10.5 | 0.0 | 793.0 | link |
rgg_n_2_22_s0 | 4.2M | 60.7M | 14.5 | 3.8 | 0.0 | 36.0 | link |
soc-LiveJournal | 4.8M | 85.7M | 17.7 | 52.0 | 0.0 | 20333.0 | link |
indochina-2004 | 7.4M | 302.0M | 40.7 | 329.6 | 0.0 | 256425.0 | link |
rgg_n_2_23_s0 | 8.4M | 127.0M | 15.1 | 3.9 | 0.0 | 40.0 | link |
road_central | 14.1M | 33.9M | 2.4 | 0.9 | 0.0 | 8.0 | link |
twitter7 | 41.7M | 2405.0M | 57.7 | 401.5 | 0.0 | 2997490.0 | link |
Download benchmark repository source code.
git clone https://github.com/EgorOrachyov/graph-bench.git
Within repo folder init git submodule to get all source code of tools.
git submodule update --init --recursive
Build bundled Spla library.
python3 scripts/build_spla.py
Build bundled Gunrock library.
python3 scripts/build_gunrock.py
Build bundled GraphBLAST library.
python3 scripts/build_graphblast.py
Build bundled SuiteSparse and LaGraph libraries.
python3 scripts/build_lagraph.py
Download all graphs one by one archives and extract into dataset folder. Alternatively, download all graphs within single archive from Google Drive.
After dataset unpack into dataset folder you have to run convert tool to prepare graphs.
python3 scripts/convert.py
This tool uses spla convert.exe
to convert source .mtx
files into undirected .mtx
graphs.
Run all algorithms & graphs & tools performance measurements.
python3 scripts/benchmark.py
Run particular tool for performance measurements. Use comma and no space to select multiple.
python3 scripts/benchmark.py --tool=[all, spla, lagraph, gunrock, graphblast]
python3 scripts/benchmark.py --tool=spla,lagraph,gunrock,graphblast
Run particular algorithm for performance measurements. Use comma and no space to select multiple.
python3 scripts/benchmark.py --algo=[all, bfs, sssp, pr, tc]
python3 scripts/benchmark.py --algo=bfs,sssp,pr,tc
Provide csv file name to save all stats of the benchmark.
python3 scripts/benchmark.py --csvall=my_results.csv
Provide csv file name to save per-tool detailed stats of the benchmark.
python3 scripts/benchmark.py --csvtool=my_results.csv
See help for more options.
python3 scripts/benchmark.py -h
This project licensed under MIT License. License text can be found in the license file.