cuGraph Notebooks#
This repository contains a collection of Jupyter Notebooks that outline how to run various cuGraph analytics. The notebooks do not address a complete data science problem. The notebooks are simply examples of how to run the graph analytics. Manipulation of the data before or after the graph analytic is not covered here. Extended, more problem focused, notebooks are being created and available https://github.com/rapidsai/notebooksextended
Summary#
Folder  Notebook  Description 

Centrality  
Centrality  Compute and compare multiple (currently 5) centrality scores  
Katz  Compute the Katz centrality for every vertex  
Betweenness  Compute both Edge and Vertex Betweenness centrality  
Degree  Compute Degree Centraility for each vertex  
Eigenvector  Compute Eigenvector for every vertex  
Community  
Louvain and Leiden  Identify clusters in a graph using both the Louvain and Leiden algorithms  
ECG  Identify clusters in a graph using the Ensemble Clustering for Graph  
KTruss  Extracts the KTruss cluster  
SpectralClustering  Identify clusters in a graph using Spectral Clustering with both  Balanced Cut  Modularity Modularity 

Subgraph Extraction  Compute a subgraph of the existing graph including only the specified vertices  
Triangle Counting  Count the number of Triangle in a graph  
Components  
Connected Components  Find weakly and strongly connected components in a graph  
Core  
KCore  Extracts the Kcore cluster  
Core Number  Computer the Core number for each vertex in a graph  
Layout  
ForceAtlas2  A large graph visualization achieved with cuGraph.  
Link Analysis  
Pagerank  Compute the PageRank of every vertex in a graph  
HITS  Compute the HITS' Hub and Authority scores for every vertex in a graph  
Link Prediction  
Jaccard Similarity  Compute vertex similarity score using both:  Jaccard Similarity  Weighted Jaccard 

Overlap Similarity  Compute vertex similarity score using the Overlap Coefficient  
Sampling  
Random Walk  Compute Random Walk for a various number of seeds and path lengths  
Traversal  
BFS  Compute the Breadth First Search path from a starting vertex to every other vertex in a graph  
SSSP  Single Source Shortest Path  compute the shortest path from a starting vertex to every other vertex  
Structure  
Renumbering Renumbering 2 
Renumber the vertex IDs in a graph (two sample notebooks)  
Symmetrize  Symmetrize the edges in a graph 
RAPIDS notebooks#
Visit the main RAPIDS notebooks repo for a listing of all notebooks across all RAPIDS libraries.
Requirements#
Running the example in these notebooks requires:
The latest version of RAPIDS with cuGraph.
Download via Docker, Conda (See Getting Started)
cuGraph is dependent on the latest version of cuDF. Please install all components of RAPIDS
Python 3.8+
A system with an NVIDIA GPU: Pascal architecture or better
CUDA 11.4+
NVIDIA driver 450.51+
Copyright#
Copyright (c) 20192023, NVIDIA CORPORATION. All rights reserved.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.