NVIDIA cuGraph Documentation#

_images/cugraph_logo_2.png

Overview#

NVIDIA cuGraph is an open-source collection of GPU-accelerated graph analytics libraries. The collection spans high-level Python analytics, graph neural network (GNN) integrations, and lower-level libraries for applications that need direct control over graph storage and computation.

Traditional Graph Analytics in Python#

  • cuGraph provides a NetworkX-like Python API for creating and manipulating graphs and running single- and multi-GPU algorithms. See the cuGraph Python API.

  • pylibcugraph provides lower-level Python bindings to libcugraph. See the pylibcugraph API.

  • nx-cugraph, maintained in the nx-cugraph repository, is a NetworkX backend that accelerates supported NetworkX algorithms on NVIDIA GPUs without changing application code. See the nx-cugraph guide.

GNN Libraries#

The GNN libraries are maintained in the cuGraph-GNN repository.

  • cuGraph-PyG integrates cuGraph with PyTorch Geometric and implements its GraphStore, FeatureStore, loader, and sampler interfaces. See the cuGraph-PyG API.

  • WholeGraph provides distributed storage, communication, tensor, embedding, and graph operations for large-scale GNN workflows. It consists of:

Core Libraries#

The cuGraph Docs repository contains the combined documentation sources and build configuration for these components.

cuGraph Using NetworkX Code#

cuGraph is available as a NetworkX backend through nx-cugraph. NetworkX users can accelerate supported algorithms on an NVIDIA GPU without changing their existing code.

See zero-code-change NetworkX acceleration, or continue below to use the cuGraph API directly.

Getting started with cuGraph#

Installation#

Please see the latest NVIDIA RAPIDS Installation Guide.

The guide covers several ways to install either the full RAPIDS suite or just cuGraph through a simple selector tool. The tool allow for the selection of installation via conda, pip, or Docker. Additionally, the tool allow for the selection of the desired CUDA and Python versions as well as the option to install additional packages.

cuGraph API example#

import cugraph

# Create an instance of the Zachary Karate Club graph.
from cugraph.datasets import karate
G = karate.get_graph()

centrality = cugraph.degree_centrality(G)

The cuGraph notebooks include examples of loading graph data and running algorithms.

The`Python tests <rapidsai/cugraph>`_ section also provide focused examples.

The degree centrality test is a compact starting point. A corresponding multi-GPU example shows the distributed workflow.

Table of Contents#

Indices and tables#