Skip to content

Commit

Permalink
Update README and some docs(#1281)
Browse files Browse the repository at this point in the history
Update the README with new algorithms and multi-gpu status
Also cleaned up a few other stops

Authors:
  - BradReesWork <[email protected]>

Approvers:
  - Alex Fender
  - Alex Fender

URL: #1281
  • Loading branch information
BradReesWork authored Dec 1, 2020
1 parent c46289a commit 09854cc
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 15 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
- PR #1269 Removed old db code that was not being used
- PR #1271 Add extra check to make SG Louvain deterministic
- PR #1273 Update Force Atlas 2 notebook, wrapper and coding style
- PR @1281 Update README

## Bug Fixes
- PR #1237 update tests for assymetric graphs, enable personalization pagerank
Expand Down
5 changes: 4 additions & 1 deletion PRTAGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ PR = Pull Request

| TAG | |
|------------|-------------------------------------------------------|
| WIP | _Work In Progress_ - Within the RAPIDS cuGraph team, we try to open a PR when development starts. This allows other to review code as it is being developed and provide feedback before too much code needs to be refactored. It also allows process to be tracked |
| WIP | _Work In Progress_ - Within the RAPIDS cuGraph team, we try to open a PR when development starts. This allows other to review code as it is being developed and provide feedback before too much code needs to be refactored. It also allows process to be tracked. __A WIP PR will not be merged into baseline__ |
| skip-ci | _Do Not Run CI_ - This flag prevents CI from being run. It is good practice to include this with the **WIP** tag since code is typically not at a point where it will pass CI. |
| skip ci | same as above |
| API-REVIEW | This tag request a code review just of the API portion of the code - This is beneficial to ensure that all required arguments are captured. Doing this early can save from having to refactor later. |
| REVIEW | The code is ready for a full code review. Only code that has passed a code review is merged into the baseline |


Code must pass CI before it is merged
40 changes: 32 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ for i in range(len(df_page)):
| Category | Algorithm | Scale | Notes
| ------------ | -------------------------------------- | ------------ | ------------------- |
| Centrality | | | |
| | Katz | Single-GPU | |
| | Katz | Multi-GPU | |
| | Betweenness Centrality | Single-GPU | |
| | Edge Betweenness Centrality | Single-GPU | |
| Community | | | |
| | Leiden | Single-GPU | |
| | Louvain | Multiple-GPU | |
| | Louvain | Multi-GPU | |
| | Ensemble Clustering for Graphs | Single-GPU | |
| | Spectral-Clustering - Balanced Cut | Single-GPU | |
| | Spectral-Clustering - Modularity | Single-GPU | |
Expand All @@ -57,25 +57,49 @@ for i in range(len(df_page)):
| Layout | | | |
| | Force Atlas 2 | Single-GPU | |
| Link Analysis| | | |
| | Pagerank | Multiple-GPU | |
| | Personal Pagerank | Single-GPU | |
| | Pagerank | Multi-GPU | |
| | Personal Pagerank | Multi-GPU | |
| | HITS | Single-GPU | leverages Gunrock |
| Link Prediction | | | |
| | Jaccard Similarity | Single-GPU | |
| | Weighted Jaccard Similarity | Single-GPU | |
| | Overlap Similarity | Single-GPU | |
| Traversal | | | |
| | Breadth First Search (BFS) | Multiple-GPU | |
| | Single Source Shortest Path (SSSP) | Multiple-GPU | |
| | Breadth First Search (BFS) | Multi-GPU | |
| | Single Source Shortest Path (SSSP) | Multi-GPU | |
| Structure | | | |
| | Renumbering | Single-GPU | Also for multiple columns |
| | Symmetrize | Single-GPU | |
| | Renumbering | Single-GPU | multiple columns, any data type |
| | Symmetrize | Multi-GPU | |
| Other | | | |
| | Hungarian Algorithm | Single-GPU | |
| | Minimum Spanning Tree | Single-GPU | |
| | Maximum Spanning Tree | Single-GPU | |

| | |

</br></br>
## Supported Graph
| Type | Description |
| --------------- | --------------------------------------------------- |
| Graph | An undirected Graph |
| DiGraph | A Directed Graph |
| _Multigraph_ | _coming in 0.18_ |
| _MultiDigraph_ | _coming in 0.18_ |
| | |

</br></br>
## Supported Data Types
cuGraph supports the creation of a graph several data types:
* cuDF DataFrame
* Pandas DataFrame

cuGraph supports execution of graph algorithms from different graph objects
* cuGraph Graph classes
* NetworkX graph classes
* CuPy sparse matrix
* SciPy sparse matrix

cuGraph tries to match the return type based on the input type. So a NetworkX input will return the same data type that NetworkX would have.


## cuGraph Notice
Expand Down
17 changes: 11 additions & 6 deletions docs/source/cugraph_ref.rst
Original file line number Diff line number Diff line change
@@ -1,30 +1,35 @@
##########
References
===============
##########

**********
Algorithms
**************
**********

Betweenness Centrality
-------------------------

- Brandes, U. (2001). A faster algorithm for betweenness centrality. Journal of mathematical sociology, 25(2), 163-177.
- Brandes, U. (2008). On variants of shortest-path betweenness centrality and their generic computation. Social Networks, 30(2), 136-145.
- McLaughlin, A., & Bader, D. A. (2018). Accelerating GPU betweenness centrality. Communications of the ACM, 61(8), 85-92.


Katz
-------------------------

- J. Cohen, *Trusses: Cohesive subgraphs for social network analysis* National security agency technical report, 2008
- O. Green, J. Fox, E. Kim, F. Busato, et al. *Quickly Finding a Truss in a Haystack* IEEE High Performance Extreme Computing Conference (HPEC), 2017 https://doi.org/10.1109/HPEC.2017.8091038
- O. Green, P. Yalamanchili, L.M. Munguia, “*ast Triangle Counting on GPU* Irregular Applications: Architectures and Algorithms (IA3), 2014

Hungarian Algorithm

- Date, K., & Nagi, R. (2016). GPU-accelerated Hungarian algorithms for the Linear Assignment Problem. Parallel Computing, 57, 52-72.

|
|

**********
Data Sets
**************
**********

karate
- W. W. Zachary, *An information flow model for conflict and fission in small groups*, Journal of Anthropological Research 33, 452-473 (1977).
Expand Down

0 comments on commit 09854cc

Please sign in to comment.