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/notebooks-extended
Folder | Notebook | Description |
---|---|---|
Centrality | ||
Katz | Compute the Katz centrality for every vertex | |
Betweenness | Compute both Edge and Vertex Betweenness centrality | |
Community | ||
Louvain | Identify clusters in a graph using the Louvain algorithm | |
ECG | Identify clusters in a graph using the Ensemble Clustering for Graph | |
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 | |
Components | ||
Connected Components | Find weakly and strongly connected components in a graph | |
Core | ||
K-Core | Extracts the K-core cluster | |
Core Number | Computer the Core number for each vertex in a graph | |
K-Truss | Extracts the K-Truss cluster | |
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 | |
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 |
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.
- Download via Docker, Conda (See Getting Started)
-
cuGraph is dependent on the latest version of cuDF. Please install all components of RAPIDS
-
Python 3.6+
-
A system with an NVIDIA GPU: Pascal architecture or better
-
CUDA 9.2+
-
NVIDIA driver 396.44+
- Original Authors: Bradley Rees
- Last Edit: 04/24/2020
RAPIDS Versions: 0.14
Test Hardware
- GV100 32G, CUDA 9,2
Copyright (c) 2019-2020, 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/LICENSE-2.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.