Skip to content

Commit

Permalink
gh-167: add perf info to package
Browse files Browse the repository at this point in the history
  • Loading branch information
EgorOrachyov committed Aug 30, 2023
1 parent deed61f commit 5256fab
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 24 deletions.
Binary file added docs/stats/rq1_rel_compact.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/stats/rq2_cores_compact.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/stats/rq3_int_compact.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
94 changes: 70 additions & 24 deletions python/pyspla/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,52 @@
it to speed-up some operations. All GPU communication, data transformations
and transfers done internally automatically without any efforts from user perspective.
Performance
-----------
**Comparison on a Nvidia GPU**
![stats](../../docs/stats/rq1_rel_compact.png)
Description: Relative speedup of GraphBLAST, Gunrock and Spla compared to a LaGraph (SuiteSparse) used a baseline. Logarithmic scale is used.
> **Configuration**: Ubuntu 20.04, 3.40Hz Intel Core i7-6700 4-core CPU, DDR4 64Gb RAM, Nvidia GeForce GTX 1070
> dedicated GPU with 8Gb on-board VRAM.
**Scalability on Intel, Amd and Nvidia GPUs**
![stats](../../docs/stats/rq2_cores_compact.png)
Description: Throughput of Spla library shown as a number of processed edges/s per single GPU core. Logarithmic scale is used.
> **Configuration**: Nvidia GeForce GTX 1070 dedicated GPU with 8Gb on-board VRAM, Intel Arc A770 flux dedicated GPU
> with 8GB on-board VRAM and or AMD Radeon Vega Frontier Edition dedicated GPU with 16GB on-board VRAM.
**Comparison running on integrated Intel and Amd GPUs**
![stats](../../docs/stats/rq3_int_compact.png)
Description: Relative speedup of Spla compared to a LaGraph (SuiteSparse) used a baseline running on a single CPU device with integrated GPU.
> **Configuration**: Ubuntu 20.04, 3.40Hz Intel Core i7-6700 4-core CPU, DDR4 64Gb RAM, Intel HD Graphics 530 integrated
> GPU and Ubuntu 22.04, 4.70Hz AMD Ryzen 9 7900x 12-core CPU, DDR4 128 GB RAM, AMD GFX1036 integrated GPU.
**Dataset**
| Name | Vertices | Edges | Avg Deg | Sd Deg | Max Deg | Link |
|:------------------|---------:|--------:|--------:|-------:|----------:|--------------------------------------------------------------------------------------------------:|
| coAuthorsCiteseer | 227.3K | 1.6M | 7.2 | 10.6 | 1372.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/DIMACS10/coAuthorsCiteseer.tar.gz) |
| coPapersDBLP | 540.5K | 30.5M | 56.4 | 66.2 | 3299.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/DIMACS10/coPapersDBLP.tar.gz) |
| amazon-2008 | 735.3K | 7.0M | 9.6 | 7.6 | 1077.0 | [link](http://sparse.tamu.edu/LAW/amazon-2008) |
| hollywood-2009 | 1.1M | 112.8M | 98.9 | 271.9 | 11467.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/LAW/hollywood-2009.tar.gz) |
| belgium_osm | 1.4M | 3.1M | 2.2 | 0.5 | 10.0 | [link](http://sparse.tamu.edu/DIMACS10/belgium_osm) |
| roadNet-CA | 2.0M | 5.5M | 2.8 | 1.0 | 12.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/SNAP/roadNet-CA.tar.gz) |
| com-Orkut | 3.1M | 234.4M | 76.3 | 154.8 | 33313.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/SNAP/com-Orkut.tar.gz) |
| cit-Patents | 3.8M | 33.0M | 8.8 | 10.5 | 793.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/SNAP/cit-Patents.tar.gz) |
| rgg_n_2_22_s0 | 4.2M | 60.7M | 14.5 | 3.8 | 36.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/DIMACS10/rgg_n_2_22_s0.tar.gz) |
| soc-LiveJournal | 4.8M | 85.7M | 17.7 | 52.0 | 20333.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/SNAP/soc-LiveJournal1.tar.gz) |
| indochina-2004 | 7.4M | 302.0M | 40.7 | 329.6 | 256425.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/LAW/indochina-2004.tar.gz) |
| rgg_n_2_23_s0 | 8.4M | 127.0M | 15.1 | 3.9 | 40.0 | [link](https://suitesparse-collection-website.herokuapp.com/MM/DIMACS10/rgg_n_2_23_s0.tar.gz) |
| road_central | 14.1M | 33.9M | 2.4 | 0.9 | 8.0 | [link](http://sparse.tamu.edu/DIMACS10/road_central) |
Containers
----------
Expand Down Expand Up @@ -107,33 +153,33 @@
List of built-in binary operations:
Name | Type | Meaning
--- | --- | ---
`PLUS` | binary(x,y) | r = x + y
`MINUS` | binary(x,y) | r = x - y
`MULT` | binary(x,y) | r = x * y
`DIV` | binary(x,y) | r = x / y
`FIRST` | binary(x,y) | r = x
`SECOND` | binary(x,y) | r = y
`ONE` | binary(x,y) | r = 1
`MIN` | binary(x,y) | r = min(x, y)
`MAX` | binary(x,y) | r = max(x, y)
`BOR` | binary(x,y) | r = x or y
`BAND` | binary(x,y) | r = x & y
`BXOR` | binary(x,y) | r = x ^ y
| Name | Type | Meaning |
|:--------|:------------|:---------------|
|`PLUS` | binary(x,y) | r = x + y |
|`MINUS` | binary(x,y) | r = x - y |
|`MULT` | binary(x,y) | r = x * y |
|`DIV` | binary(x,y) | r = x / y |
|`FIRST` | binary(x,y) | r = x |
|`SECOND` | binary(x,y) | r = y |
|`ONE` | binary(x,y) | r = 1 |
|`MIN` | binary(x,y) | r = min(x, y) |
|`MAX` | binary(x,y) | r = max(x, y) |
|`BOR` | binary(x,y) | r = x or y |
|`BAND` | binary(x,y) | r = x & y |
|`BXOR` | binary(x,y) | r = x ^ y |
List of built-in select operations:
Name | Type | Meaning
--- | --- | ---
`EQZERO` | select(x) | x == 0
`NQZERO` | select(x) | x != 0
`GTZERO` | select(x) | x > 0
`GEZERO` | select(x) | x >= 0
`LTZERO` | select(x) | x < 0
`LEZERO` | select(x) | x <= 0
`ALWAYS` | select(x) | true
`NEVER` | select(x) | false
| Name | Type | Meaning |
|:--------|:------------|:---------------|
|`EQZERO` | select(x) | x == 0 |
|`NQZERO` | select(x) | x != 0 |
|`GTZERO` | select(x) | x > 0 |
|`GEZERO` | select(x) | x >= 0 |
|`LTZERO` | select(x) | x < 0 |
|`LEZERO` | select(x) | x <= 0 |
|`ALWAYS` | select(x) | true |
|`NEVER` | select(x) | false |
Details
-------
Expand Down

0 comments on commit 5256fab

Please sign in to comment.