A high-performance CUDA library for graph algorithms and processing.
- Breadth-First Search (BFS) - Parallel BFS implementation
- Single Source Shortest Path (SSSP) - Both Bellman-Ford and Dijkstra algorithms
- CSR Graph Format - Compressed Sparse Row representation
- CUDA Optimized - GPU-accelerated graph processing
- CUDA Toolkit 11.0 or later
- CMake 3.22 or later
- C++17 compatible compiler
- GPU with compute capability 7.5 or later
mkdir build && cd build
cmake ..
cmake --build . --config Releasepip install pybind11
mkdir build && cd build
cmake -DBUILD_PYTHON_BINDINGS=ON ..
cmake --build . --config Release./build/example_bfs./build/example_sssp#include "gpgraph/gpgraph.h"
// Initialize library
gpInit();
// Create graph
CudaCSRGraph* graph = nullptr;
gpCreateGraphCSR(vertices, edges, row_offsets, col_indices, nullptr, &graph);
// Run BFS
int depths[vertices];
gpBFS(graph, source, 0, nullptr, 1, depths);
// Cleanup
gpDestroyGraph(graph);
gpFinalize();MIT License - see LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
Benjamin Huang - GitHub Profile
- Built with CUDA for high-performance GPU computing
- Implements classic graph algorithms with modern parallel processing techniques