Warning
This includes preliminary results and various notes for myself. Not necesarilly well structured or explained.
Fully-connected graphs with undirected edges.
- Rust Cuda Reboot (Blog Post) & Issue
- Rust-GPU Getting Started
- cudarc (used here)
- Cuda C++ Programming Guide
- Cuda in WSL (Git Gist) | Enable Cuda on WSL2 | Nvidia: Getting Started with CUDA on WSL2
See the main Readme for better installation instructions.
$ RUST_BACKTRACE=full cargo run --bin edges --profile releasefirst 20: [2, 0, -2, -2, -2, -2, 0, -2, -2, -2, 2, -2, -2, 0, -2, -2, -2, 1, 0, -3]
# for 6000 elements total:
last 20: [-5, -4, -5, -5, -2, -4, -6, -4, -4, -4, 8, -8, -5, -8, -4, -4, -4, 7, -6, -5]These are preliminary results. See the paper for the official results.
| Number of nodes | Time CPU | Time GPU |
|---|---|---|
| 10,000 | 12s | 173.2ms |
| 15,000 | 24s | - |
| 20,000 | 42s | 438ms |
| 30,000 | 93s | 1.09s |
| 35,000 | 132s | 1.73s |
| 40,000 | 159s (cannot sort anymore) | - |
| 50,000 | couldn't test due to memory constraints (RAM) | - |
| 100,000 | - | 2.57s |
| 200,000 | - | 3.80s |
| 300,000 | - | 11.33s (weird alignment issue?) |
| 350,000 | - | 5.88s |
| 400,000 | - | 2.64s |
| 500,000 | - | 2.21s |
| 611,786 | - | 1.38s |
1 to 46: 30 runs each
47 to 51: 12 runs each
Diff two binary files. Command from here:
cmp --silent ../data/graph/final/edges.cpu.bin ../data/graph/final/edges.gpu.bin # check error code (!)
diff <(xxd ../data/graph/final/edges.cpu.bin) <(xxd ../data/graph/final/edges.gpu.bin)Show head of binary file.
head -c 100 ../data/graph/edges-new-gpu.bin | od -t d1We consider different ranges of edge weights. See the paper for more details.
| Weight range | Details |
|---|---|
| puissant ego | |
| étirer ego | |
|
|
|
| only |
does not give any good results |
|
emporter ego (based on |
Rendering via Gephi: node opacity 20, edge opacity 30