- Notifications
You must be signed in to change notification settings - Fork3
Benchmarks suite for performance study of various graph analysis frameworks for CPU/GPU computations
License
EgorOrachyov/graph-bench
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 intodataset folder.Alternatively, download all graphs within single archivefromGoogle Drive.
After dataset unpack intodataset folder you have to run convert tool to prepare graphs.
python3 scripts/convert.py
This tool uses splaconvert.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 thelicense file.