Skip to content

benhuang3/gpgraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPGraph - CUDA Graph Processing Library

A high-performance CUDA library for graph algorithms and processing.

Features

  • 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

Requirements

  • CUDA Toolkit 11.0 or later
  • CMake 3.22 or later
  • C++17 compatible compiler
  • GPU with compute capability 7.5 or later

Building

Basic Build

mkdir build && cd build
cmake ..
cmake --build . --config Release

With Python Bindings

pip install pybind11
mkdir build && cd build
cmake -DBUILD_PYTHON_BINDINGS=ON ..
cmake --build . --config Release

Examples

BFS Example

./build/example_bfs

SSSP Example

./build/example_sssp

Usage

#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();

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

Benjamin Huang - GitHub Profile

Acknowledgments

  • Built with CUDA for high-performance GPU computing
  • Implements classic graph algorithms with modern parallel processing techniques

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published