Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing some of the VDR feedback #4674

Merged
merged 16 commits into from
Oct 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 63 additions & 39 deletions docs/cugraph/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,58 +1,82 @@
RAPIDS Graph documentation
==========================

.. image:: images/cugraph_logo_2.png
:width: 600

*Making graph analytics fast and easy regardless of scale*


.. list-table:: RAPIDS Graph covers a range of graph libraries and packages, that includes:
:widths: 25 25 25
:header-rows: 1

* - Core
- GNN
- Extension
* - :abbr:`cugraph (Python wrapper with lots of convenience functions)`
- :abbr:`cugraph-ops (GNN aggregators and operators)`
- :abbr:`cugraph-service (Graph-as-a-service provides both Client and Server packages)`
* - :abbr:`pylibcugraph (light-weight Python wrapper with no guard rails)`
- :abbr:`cugraph-dgl (Accelerated extensions for use with the DGL framework)`
-
* - :abbr:`libcugraph (C++ API)`
- :abbr:`cugraph-pyg (Accelerated extensions for use with the PyG framework)`
-
* - :abbr:`libcugraph_etl (C++ renumbering function for strings)`
- :abbr:`wholegraph (Shared memory-based GPU-accelerated GNN training)`
-
..
|

~~~~~~~~~~~~
Introduction
~~~~~~~~~~~~
cuGraph is a library of graph algorithms that seamlessly integrates into the
RAPIDS data science ecosystem and allows the data scientist to easily call
graph algorithms using data stored in GPU DataFrames, NetworkX Graphs, or
even CuPy or SciPy sparse Matrices.
graph algorithms using data stored in GPU DataFrames, NetworkX Graphs, or even
CuPy or SciPy sparse Matrices. Our major integration effort with NetworkX
allows for **zero code change** GPU acceleration through the use of the
nx-cugraph backend. NetworkX and the nx-cugraph backend offer a seamless
transition to GPU accelerated graph analytics for NetworkX users with access to
a supported GPU.

Getting started with cuGraph

Required hardware/software for cuGraph and `RAPIDS <https://docs.rapids.ai/user-guide>`_
* NVIDIA GPU, Volta architecture or later, with `compute capability <https://developer.nvidia.com/cuda-gpus> 7.0+`_
* CUDA 11.2-11.8, 12.0-12.5
* Python version 3.10, 3.11, or 3.12
* NetworkX version 3.0 or newer in order to use use the nx-cuGraph backend. NetworkX version 3.4 or newer is recommended. (`see below <#cugraph-using-networkx-code>`).

Installation
The latest RAPIDS System Requirements documentation is located `here <https://docs.rapids.ai/install#system-req>`_.

This includes several ways to set up cuGraph

* From Unix

* `Conda <https://docs.rapids.ai/install/#conda>`_
* `Docker <https://docs.rapids.ai/install/#docker>`_
* `pip <https://docs.rapids.ai/install/#pip>`_


**Note: Windows use of RAPIDS depends on prior installation of** `WSL2 <https://learn.microsoft.com/en-us/windows/wsl/install>`_.

* From Windows

Note: We are redoing all of our documents, please be patient as we update
the docs and links
* `Conda <https://docs.rapids.ai/install#wsl-conda>`_
* `Docker <https://docs.rapids.ai/install#wsl-docker>`_
* `pip <https://docs.rapids.ai/install#wsl-pip>`_

|

cuGraph Using NetworkX Code

cuGraph is now available as a NetworkX backend using `nx-cugraph <https://rapids.ai/nx-cugraph/>`_.
nx-cugraph offers NetworkX users a **zero code change** option to accelerate
their existing NetworkX code using an NVIDIA GPU and cuGraph.


Cugraph API Example

.. code-block:: python

import cugraph
import cudf

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

# Call cugraph.degree_centrality
vertex_bc = cugraph.degree_centrality(G)

There are several resources containing cuGraph examples, `the cuGraph notebook repository <https://github.com/rapidsai/cugraph/blob/main/notebooks/README.md>`_
has many examples of loading graph data and running algorithms in Jupyter notebooks.
The `cuGraph test code <https://github.com/rapidsai/cugraph/tree/main/python/cugraph/cugraph/tests>_` contain python scripts setting up and calling cuGraph algorithms.
A simple example of `testing the degree centrality algorithm <https://github.com/rapidsai/cugraph/blob/main/python/cugraph/cugraph/tests/centrality/test_degree_centrality.py>`_
is a good place to start. Some of these show `multi-GPU tests/examples <https://github.com/rapidsai/cugraph/blob/main/python/cugraph/cugraph/tests/centrality/test_degree_centrality_mg.py>`_ with larger data sets as well.

.. toctree::
:maxdepth: 2
:caption: Contents:

basics/index
nx_cugraph/index
installation/index
tutorials/index
graph_support/index
wholegraph/index
references/index
api_docs/index

top_toc

Indices and tables
==================
Expand Down
13 changes: 13 additions & 0 deletions docs/cugraph/source/top_toc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.. toctree::
:maxdepth: 2
:caption: cuGraph documentation Contents:
:name: top_toc

basics/index
nx_cugraph/index
installation/index
tutorials/index
graph_support/index
wholegraph/index
references/index
api_docs/index
Loading