rapidsai/cugraph

cuGraph - RAPIDS Graph Analytics Library

What it solves

cuGraph is designed to handle the computational bottlenecks of graph analytics. By leveraging GPU acceleration, it allows users to create, manipulate, and execute scalable, fast graph algorithms on large datasets that would otherwise be too slow or resource-intensive on traditional CPUs.

How it works

The library provides a tiered API approach to balance ease of use and control:

  • High-level Python API: Integrates seamlessly with GPU DataFrames (cuDF), allowing data scientists to move data between ETL tasks and machine learning tasks (cuML) without leaving the GPU. It offers a Pandas-like and NetworkX-like interface for minimal porting effort.
  • pylibcugraph: A specialized Python API for applications requiring tighter integration and fewer dependencies.
  • libcugraph / libcugraph_c: Low-level C/C++/CUDA interfaces for users who need direct control over graph structures and integration outside of Python.

It supports various input formats, including Pandas DataFrames and NetworkX Graph objects, and uses the Apache Arrow columnar data format on the GPU to ensure efficient data interchange.

Who it’s for

  • Data Scientists: Those familiar with Python, Pandas, and NetworkX who want to GPU-accelerate their graph analysis workflows.
  • C/C++/CUDA Developers: Engineers building high-performance applications that require low-level graph theory implementation.
  • AI/ML Engineers: Professionals building end-to-end GPU-accelerated data science pipelines for artificial intelligence workloads.

Highlights

  • GPU-Accelerated Algorithms: Scalable and fast execution of graph algorithms like PageRank.
  • RAPIDS Ecosystem Integration: Seamless data passing between cuDF (ETL) and cuML (ML).
  • Flexible APIs: Multiple entry points ranging from high-level Python to low-level CUDA C++.
  • Broad Compatibility: Supports data from Pandas, NetworkX, and Apache Arrow.

Related

  • Project
  • Project
  • Project
  • Project
  • Project