#graph-algorithms #cpu-gpu #algorithm #parallel #optimized #hpc #workflow

para-graph

"Para-Graph" delivers swift, parallel graph algorithms in Rust, optimized for CPU and GPU. Ideal for HPC workflows.

3 releases

0.1.2 Jul 5, 2024
0.1.1 May 2, 2024
0.1.0 Apr 7, 2024

#1281 in Algorithms

Download history 19/week @ 2024-09-16 13/week @ 2024-09-23 6/week @ 2024-09-30

239 downloads per month

MIT license

1MB
1K SLoC

Rust 890 SLoC // 0.0% comments Python 186 SLoC // 0.0% comments C++ 83 SLoC


Para-Graph

Graph Algorithms, High Performance Computing, GPU, CPU, Rust, C++, OpenAcc

Overview

🚧 Under Construction 🚧

"Para-Graph" is a library for high-performance, parallel graph algorithms, optimized for both CPU and GPU. The library is implemented in Rust and C++ and uses OpenACC for GPU acceleration.

Currently, the library is on the early stages of development and only a few algorithms are implemented. Expect bugs, incomplete features and breaking changes. Use at your own risk.

Algorithms

Algorithm CPU GPU
Busca BinÑria 🚧
Merge Sort 🚧
Topological Sort 🚧
Radix Sort 🚧 🚧
K-means 🚧 🚧
DBSCAN 🚧 🚧
Hierarchical Clustering 🚧
Markov Clustering 🚧 🚧
PageRank 🚧 🚧
Dijkstra 🚧
Floyd-Warshall βœ… βœ…
A* 🚧
Kruskal 🚧
Prim 🚧
Edmonds-Karp 🚧
Min-Cost Max-Flow 🚧
Dinic 🚧
Gaussian Elimination 🚧 🚧
Hungarian 🚧
ADMM 🚧 🚧

Docs

🚧 Under Construction 🚧

Credits

Credit where credit is due

Project developed by Eliton Machado da Silva under the supervision of Prof. Dr. Guilherme P. Koslovski at the Universidade Estadual de Santa Catarina (UDESC) in the context of final project of the Bachelor's degree in Computer Science.

License

Released under the MIT license.

Dependencies

~5.5–7.5MB
~128K SLoC