RAPIDS cuGraph GNN is a monorepo containing packages for GPU-accelerated graph neural networks (GNNs). cuGraph-GNN supports the creation and manipulation of graphs followed by the execution of scalable fast graph algorithms.
NEW! nx-cugraph, a NetworkX backend that provides GPU acceleration to NetworkX with zero code change.
> pip install nx-cugraph-cu11 --extra-index-url https://pypi.nvidia.com
> export NETWORKX_AUTOMATIC_BACKENDS=cugraph
That's it. NetworkX now leverages cuGraph for accelerated graph algorithms.
- Installation
- General
- Packages
- API Docs
- Python
- References
RAPIDS cuGraph-GNN is a collection of GPU-accelerated plugins that support DGL, PyG, PyTorch, and a variety of other graph and GNN frameworks. cuGraph-GNN is built on top of RAPIDS cuGraph, leveraging its low-level pylibcugraph API and C++ primitives for sampling and other GNN operations (libcugraph)
cuGraph-GNN is comprised of three subprojects: cugraph-DGL, cugraph-PyG, and WholeGraph.
- cuGraph-DGL supports the Deep Graph Library (DGL) and offers duck-typed versions of DGL's native graph objects, samplers, and loaders.
- cuGraph-PyG supports PyTorch Geometric (PyG) and implements PyG's GraphStore, FeatureStore, Loader, and Sampler interfaces.
- WholeGraph supports PyTorch and provides a distributed graph and kv store. Both cuGraph-DGL and cuGraph-PyG can leverage WholeGraph for even greater scalability.
(alphabetical order)
- ArangoDB - a free and open-source native multi-model database system - https://www.arangodb.com/
- CuPy - "NumPy/SciPy-compatible Array Library for GPU-accelerated Computing with Python" - https://cupy.dev/
- Memgraph - In-memory Graph database - https://memgraph.com/
- NetworkX (via nx-cugraph backend) - an extremely popular, free and open-source package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks - https://networkx.org/
- PyGraphistry - free and open-source GPU graph ETL, AI, and visualization, including native RAPIDS & cuGraph support - http://github.com/graphistry/pygraphistry
- ScanPy - a scalable toolkit for analyzing single-cell gene expression data - https://scanpy.readthedocs.io/en/stable/
(please post an issue if you have a project to add to this list)
The RAPIDS suite of open source software libraries aims to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.
For more project details, see rapids.ai.
The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.