Skip to content

Commit

Permalink
Merge pull request #4691 from rapidsai/branch-24.10
Browse files Browse the repository at this point in the history
Forward-merge branch-24.10 into branch-24.12
  • Loading branch information
GPUtester authored Oct 3, 2024
2 parents 330ae2a + e6be367 commit c142198
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 39 deletions.
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

0 comments on commit c142198

Please sign in to comment.