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


Folder Notebook Description
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
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
K-Truss Extracts the K-Truss cluster
Spectral-Clustering 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
Connected Components Find weakly and strongly connected components in a graph
K-Core Extracts the K-core cluster
Core Number Computer the Core number for each vertex in a graph
Force-Atlas2 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
Random Walk Compute Random Walk for a various number of seeds and path lengths
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
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.


Running the example in these notebooks requires:

  • The latest version of RAPIDS with cuGraph.

  • 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+