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.gitWithin repo folder init git submodule to get all source code of tools.
git submodule update --init --recursiveBuild bundled Spla library.
python3 scripts/build_spla.pyBuild bundled Gunrock library.
python3 scripts/build_gunrock.pyBuild bundled GraphBLAST library.
python3 scripts/build_graphblast.pyBuild bundled SuiteSparse and LaGraph libraries.
python3 scripts/build_lagraph.pyDownload 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.pyThis tool uses spla convert.exe to convert source .mtx files into undirected .mtx graphs.
Run all algorithms & graphs & tools performance measurements.
python3 scripts/benchmark.pyRun 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,graphblastRun 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,tcProvide csv file name to save all stats of the benchmark.
python3 scripts/benchmark.py --csvall=my_results.csvProvide csv file name to save per-tool detailed stats of the benchmark.
python3 scripts/benchmark.py --csvtool=my_results.csvSee help for more options.
python3 scripts/benchmark.py -hThis project licensed under MIT License. License text can be found in the license file.