Cuda Graph Library is a CUDA library that offers a set of parallel graph algorithms.
- Breadth-First Search
- Cycle Detection
- Single Source Shortest Path
- All Pairs Shortest Path
- Linux OS
- CUDA Toolkit v11.2+
- CMake v3.0+
- NVIDIA GPU with compute capability of 3 or higher
Run these set of commands in your CLI in the order that they are presented:
$ git clone https://github.com/hamham240/cudaGraph.git
$ cd cudaGraph
$ cmake .
$ cmake --build .
$ sudo make install
$ cd cudaGraph
$ sudo make uninstall
#include "cudaGraph/cudaGraph.h"
namespace cgl = cudaGraph;
int main()
{
cgl::Graph g = cgl::readWeightedCSV("example.csv");
cgl::cudaGraphInit(g);
std::vector<int> bfsOutput = cgl::launchBFS(g, 0);
cgl::cudaGraphTerminate(g);
}
-
rapidCSV Header-Only Library
-
Parallel BFS Algorithm
- Harish, Pawan, and P. J. Narayanan. Accelerating Large Graph Algorithms on the GPU Using CUDA. 2007.
-
Parallel Cycle Detection Algorithm
-
Parallel Bellman-Ford Algorithm