Skip to content

metonymic-smokey/par-a-graph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 and the README.

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-based parallel implementation of Pagerank
  • datasets
  • images: images for README, etc.
  • docs: documents related to the project - presentation slides, etc.

License

Aapche 2.0 license

About

Parallelising Graph Algorithms

Resources

License

Stars

Watchers

Forks

Packages

No packages published