Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/metonymic-smokey/par-a-graph
Parallelising Graph Algorithms
https://github.com/metonymic-smokey/par-a-graph
Last synced: about 2 months ago
JSON representation
Parallelising Graph Algorithms
- Host: GitHub
- URL: https://github.com/metonymic-smokey/par-a-graph
- Owner: metonymic-smokey
- License: apache-2.0
- Created: 2021-03-31T12:58:05.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-06-26T14:43:44.000Z (over 3 years ago)
- Last Synced: 2024-05-01T15:54:47.190Z (9 months ago)
- Language: Go
- Homepage:
- Size: 5.39 MB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `par-a-graph`
Parallel implementations of graph algorithms using Go. Parallelization is performed both on CPU (using goroutines) and GPU (using CUDA).
## Algorithms
### Pagerank
Parallel implementation of Pagerank. This was done as part of the project for the course "Heterogeneous Parallelism" (UE18CS342) at PES University.
#### CPU
Details can be found in the [report slides](docs/report-presentation.pdf) and the [README](./cpu).
Summary:
- Fixed **partitioning** based parallelization using goroutines
- Tested and **benchmarked on 5 datasets** of varying sizes and characteristics (number of nodes, edges, average degree, density, etc.)
- **Up to 4.2x speedup** on the Stanford Web graph (on a system with 4 cores, 8 threads)#### CUDA
TODO: rough implementation can be found in the `cuda_pr` branch.
## Directory Structure
- [`cpu`](./cpu): CPU-based parallel implementation of Pagerank
- [`datasets`](./datasets)
- [`images`](./images): images for README, etc.
- [`docs`](./docs): documents related to the project - presentation slides, etc.## License
[Aapche 2.0 license](LICENSE)