Skip to content

Commit

Permalink
cuGraph Readme pages and Documentation API structure refactoring (#2894)
Browse files Browse the repository at this point in the history
Refactoring the API and adding new landing pages for each cuGraph component

Please just go to: https://github.com/acostadon/cugraph/tree/README_issue_2663 to visualize the changes

closes #2663

Authors:
  - Don Acosta (https://github.com/acostadon)
  - Brad Rees (https://github.com/BradReesWork)
  - Vibhu Jawa (https://github.com/VibhuJawa)
  - Alex Barghi (https://github.com/alexbarghi-nv)

Approvers:
  - Brad Rees (https://github.com/BradReesWork)
  - Taurean Dyer (https://github.com/taureandyernv)

URL: #2894
  • Loading branch information
acostadon committed Nov 29, 2022
1 parent a189146 commit a6d85c0
Show file tree
Hide file tree
Showing 31 changed files with 600 additions and 265 deletions.
271 changes: 92 additions & 179 deletions README.md

Large diffs are not rendered by default.

55 changes: 29 additions & 26 deletions docs/cugraph/source/basics/cugraph_blogs.rst
@@ -1,27 +1,23 @@

cuGraph BLOGS and Presentations
cuGraph Blogs and Presentations
************************************************

The RAPIDS team blogs at https://medium.com/rapids-ai, and many of
these blog posts provide deeper dives into features from cuGraph.
Here, we've selected just a few that are of particular interest to cuGraph users:


BLOGS & Conferences
Blogs & Conferences
====================
2018
-------
* `GTC18 Fall - RAPIDS: Benchmarking Graph Analytics on the DGX-2 <https://www.nvidia.com/en-us/on-demand/session/gtcwashingtondc2018-dc8110/>`_

2022
------
* `GTC: State of cuGraph (video & slides) <https://www.nvidia.com/gtc/session-catalog/?search=cuGraph&tab.scheduledorondemand=1583520458947001NJiE&search=cuGraph#/session/1635793340204001n4p2>`_
* `GTC: Scaling and Validating Louvain in cuGraph against Massive Graphs (video & slides) <https://www.nvidia.com/gtc/session-catalog/?tab.scheduledorondemand=1583520458947001NJiE&search=cuGraph#/session/1635797342151001A9kR>`_
* `KDD Tutorial on Accelerated GNN Training with DGL/PyG and cuGraph <https://github.com/rapidsai-community/event-notebooks/tree/main/KDD_2022>`_

2019
-------
* `RAPIDS cuGraph <https://medium.com/rapids-ai/rapids-cugraph-1ab2d9a39ec6>`_
* `RAPIDS cuGraph — The vision and journey to version 1.0 and beyond <https://towardsdatascience.com/rapids-cugraph-the-vision-and-journey-to-version-1-0-and-beyond-88eff2ce3e76>`_
* `RAPIDS cuGraph : multi-GPU PageRank <https://medium.com/rapids-ai/rapids-cugraph-multi-gpu-pagerank-363aed1a2503>`_
* `Similarity in graphs: Jaccard versus the Overlap Coefficient <https://medium.com/rapids-ai/similarity-in-graphs-jaccard-versus-the-overlap-coefficient-610e083b877d>`_
* `GTC19 Spring - Accelerating Graph Algorithms with RAPIDS <https://www.nvidia.com/en-us/on-demand/session/gtcsiliconvalley2019-s9783/>`_
* `GTC19 Fall - Multi-Node Multi-GPU Machine Learning and Graph Analytics with RAPIDS <https://www.nvidia.com/en-us/on-demand/session/gtcdc19-dc91231/>`_
2021
------
* `GTC 21 - State of RAPIDS cuGraph and what's comming next <https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s32418/>`_

2020
------
Expand All @@ -31,16 +27,19 @@ BLOGS & Conferences
* `Large Graph Visualization with RAPIDS cuGraph <https://medium.com/rapids-ai/large-graph-visualization-with-rapids-cugraph-590d07edce33>`_
* `GTC 20 Fall - cuGraph Goes Big <https://www.nvidia.com/en-us/on-demand/session/gtcfall20-a21128/>`_

2021
------
* `GTC 21 - State of RAPIDS cuGraph and what's comming next <https://www.nvidia.com/en-us/on-demand/session/gtcspring21-s32418/>`_
2019
-------
* `RAPIDS cuGraph <https://medium.com/rapids-ai/rapids-cugraph-1ab2d9a39ec6>`_
* `RAPIDS cuGraph — The vision and journey to version 1.0 and beyond <https://towardsdatascience.com/rapids-cugraph-the-vision-and-journey-to-version-1-0-and-beyond-88eff2ce3e76>`_
* `RAPIDS cuGraph : multi-GPU PageRank <https://medium.com/rapids-ai/rapids-cugraph-multi-gpu-pagerank-363aed1a2503>`_
* `Similarity in graphs: Jaccard versus the Overlap Coefficient <https://medium.com/rapids-ai/similarity-in-graphs-jaccard-versus-the-overlap-coefficient-610e083b877d>`_
* `GTC19 Spring - Accelerating Graph Algorithms with RAPIDS <https://www.nvidia.com/en-us/on-demand/session/gtcsiliconvalley2019-s9783/>`_
* `GTC19 Fall - Multi-Node Multi-GPU Machine Learning and Graph Analytics with RAPIDS <https://www.nvidia.com/en-us/on-demand/session/gtcdc19-dc91231/>`_

2018
-------
* `GTC18 Fall - RAPIDS: Benchmarking Graph Analytics on the DGX-2 <https://www.nvidia.com/en-us/on-demand/session/gtcwashingtondc2018-dc8110/>`_

2022
------
* `GTC: State of cuGraph (video & slides) <https://www.nvidia.com/gtc/session-catalog/?search=cuGraph&tab.scheduledorondemand=1583520458947001NJiE&search=cuGraph#/session/1635793340204001n4p2>`_
* `GTC: Scaling and Validating Louvain in cuGraph against Massive Graphs (video & slides) <https://www.nvidia.com/gtc/session-catalog/?tab.scheduledorondemand=1583520458947001NJiE&search=cuGraph#/session/1635797342151001A9kR>`_
* `KDD Tutorial on Accelerated GNN Training with DGL/PyG and cuGraph <https://github.com/rapidsai-community/event-notebooks/tree/main/KDD_2022>`_


Media
Expand All @@ -51,16 +50,16 @@ Media
Academic Papers
===============

* Alex Fender, Brad Rees, Joe Eaton (2022) `Massive Graph Analytics <https://books.google.com/books?hl=en&lr=&id=QspxEAAAQBAJ&oi=fnd&pg=PT8&dq=book:%22Massive+Graph+Analytics%22&ots=3HAGJ0njKO&sig=8e4v0azmzA6LTQNUNgPw-uTLkoc#v=onepage&q&f=false>`_ Bader, D. (Editor) CRC Press

* S Kang, A. Fender, J. Eaton, B. Rees:`Computing PageRank Scores of Web Crawl Data Using DGX A100 Clusters`. In IEEE HPEC, Sep. 2020

* Hricik, T., Bader, D., & Green, O. (2020, September). `Using RAPIDS AI to accelerate graph data science workflows`. In 2020 IEEE High Performance Extreme Computing Conference (HPEC) (pp. 1-4). IEEE.

* Richardson, B., Rees, B., Drabas, T., Oldridge, E., Bader, D. A., & Allen, R. (2020, August). Accelerating and Expanding End-to-End Data Science Workflows with DL/ML Interoperability Using RAPIDS. In Proceedings of the 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (pp. 3503-3504).

* Alex Fender, Brad Rees, Joe Eaton (2022) `Massive Graph Analytics <https://books.google.com/books?hl=en&lr=&id=QspxEAAAQBAJ&oi=fnd&pg=PT8&dq=book:%22Massive+Graph+Analytics%22&ots=3HAGJ0njKO&sig=8e4v0azmzA6LTQNUNgPw-uTLkoc#v=onepage&q&f=false>`_ Bader, D. (Editor) CRC Press


Other BLOGS
Other Blogs
========================
* `4 graph algorithms on steroids for data scientists with cugraph <https://towardsdatascience.com/4-graph-algorithms-on-steroids-for-data-scientists-with-cugraph-43d784de8d0e>`_
* `Where should I walk <https://towardsdatascience.com/where-should-i-walk-e66b26735de5>`_
Expand All @@ -69,4 +68,8 @@ Other BLOGS
* `Running Large-Scale Graph Analytics with Memgraph and NVIDIA cuGraph Algorithms <https://developer.nvidia.com/blog/running-large-scale-graph-analytics-with-memgraph-and-nvidia-cugraph-algorithms/>`_
* `Dev Blog Repost: Similarity in Graphs: Jaccard Versus the Overlap Coefficient <https://developer.nvidia.com/blog/similarity-in-graphs-jaccard-versus-the-overlap-coefficient-2/>`_


RAPIDS Event Notebooks
======================
* `KDD 2022 Notebook that demonstates using cuDF for ETL/data cleaning and XGBoost for training a fraud predection model. <https://github.com/rapidsai-community/event-notebooks/blob/main/KDD_2022/notebooks/NonGNN-Graph.ipynb>`_
* `SciPy 22 Notebook comparing cuGraph to NetworkX <https://github.com/rapidsai-community/event-notebooks/blob/8a9b660fada8186615a642b52b5ca78f20205838/SCIPY_2022/cugraph_presentation/SciPy_cuGraph_comparison.ipynb>`_
* `KDD 2020 Tutorial Notebooks - Accelerating and Expanding End-to-End Data Science Workflows with DL/ML Interoperability Using RAPIDS <https://github.com/rapidsai-community/event-notebooks/tree/8a9b660fada8186615a642b52b5ca78f20205838/KDD_2020/notebooks>`_
Binary file added img/Stack.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/Stack2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/cugraph_logo_2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/cugraphops_context.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gaas_img_1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gaas_img_2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gnn_blog.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gnn_context.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/gnn_framework.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/pg_example.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file.
79 changes: 25 additions & 54 deletions CONTRIBUTING.md → readme_pages/CONTRIBUTING.md
@@ -1,23 +1,28 @@
# Contributing to cuGraph
cuGraph, and all of RAPIDS in general, is an open-source project where we encourage community involvement. There are multiple ways to be involved and contribute to the cuGraph community, the top paths are listed below:
cuGraph, for the most part, is an open-source project where we encourage community involvement. The cugraph-ops package is the expection being a closed-source package.

* [File an Issue](#issue)
* [Implement a New Feature](#implement)
* [Work on an Existing Issue](#bugfix)
There are multiple ways to be involved and contribute to the cuGraph community, the top paths are listed below:

If you are ready to contribute, jump right to the [Contribute Code](#code) section.
* [File an Issue](https://github.com/rapidsai/docs/issues/new)
* [Implement a New Feature](https://docs.rapids.ai/contributing/code/#your-first-issue)
* [Work on an Existing Issue](#F)

If you are ready to contribute, jump right to the [Contribute Code](https://docs.rapids.ai/contributing/issues/) section.


__Style Formatting Tools:__
* `clang-format` version 8.01+
* `clang-format` version 11.1+
* `flake8` version 3.5.0+
* `black` version 22.3.0



## 1) File an Issue for the RAPIDS cuGraph team to work <a name="issue"></a>

## New Issue
1) File an Issue for the RAPIDS cuGraph team to work <a name="issue"></a>
To file an issue, go to the RAPIDS cuGraph [issue](https://github.com/rapidsai/cugraph/issues/new/choose) page an select the appropriate issue type. Once an issue is filed the RAPIDS cuGraph team will evaluate and triage the issue. If you believe the issue needs priority attention, please include that in the issue to notify the team.


## Find a Bug
***Bug Report***</pr>
If you notice something not working please file an issue
- Select **Bug** Report
Expand All @@ -31,7 +36,7 @@ If there is a feature or enhancement to an existing feature, please file an issu
- describing what you want to see added or changed. For new features, if there is a white paper on the analytic, please include a reference to it

***Ask a Question***
There are several ways to ask questions, including [Stack Overflow]( https://stackoverflow.com/) or the RAPIDS [Google forum]( https://groups.google.com/forum/#!forum/rapidsai), but a GitHub issue can be filled.
There are several ways to ask questions, including [Stack Overflow]( https://stackoverflow.com/), the quickest is by submiting a GitHub question issue.

- Select Question
- describing your question
Expand All @@ -45,28 +50,31 @@ We love when people want to get involved, and if you have a suggestion for a new
- Submit a New Feature Issue (see above) and state that you are working on it.
- The team will give feedback on the issue and happy to make suggestions
- Once we agree that the plan looks good, go ahead and implement it
- Follow the [code contributions](#code-contributions) guide below.
- Follow the [code contributions](#so-you-want-to-contribute-code) guide below.


## 3) You want to implement a feature or bug-fix for an outstanding issue <a name="bugfix"></a>
- Find an open Issue, and post that you would like to work that issues
- Once we agree that the plan looks good, go ahead and implement it
- Follow the [code contributions](#code-contributions) guide below.
- Follow the [code contributions](#so-you-want-to-contribute-code) guide below.

If you need more context on a particular issue, please ask.

<br>

----

# So you want to contribute code <a name="code"></a>

# So you want to contribute code

**TL;DR General Development Process**
1. Read the documentation on [building from source](SOURCEBUILD.md) to learn how to setup, and validate, the development environment
1. Read the documentation on [building from source](./SOURCEBUILD.md) to learn how to setup, and validate, the development environment
2. Read the RAPIDS [Code of Conduct](https://docs.rapids.ai/resources/conduct/)
3. Find or submit an issue to work on (include a comment that you are working issue)
4. Fork the cuGraph [repo](#fork) and Code (make sure to add unit tests)!
5. When done, and code passes local CI, create your pull request (PR)
1. Update the CHANGELOG.md with PR number - see [Changelog formatting](https://docs.rapids.ai/resources/changelog/)
2. Ensure that the PR has the proper [tags](PRTAGS.md)
2. Ensure that the PR has the proper [tags](./PRTAGS.md)
3. Ensure the code matches out [style guide](https://docs.rapids.ai/resources/style/)
6. Verify that cuGraph CI passes all [status checks](https://help.github.com/articles/about-status-checks/). Fix if needed
7. Wait for other developers to review your code and update code as needed
Expand All @@ -90,7 +98,7 @@ The RAPIDS cuGraph repo cannot directly be modified. Contributions must come in
```git clone https://github.com/<YOUR GITHUB NAME>/cugraph.git```


Read the section on [building cuGraph from source](SOURCEBUILD.md) to validate that the environment is correct.
Read the section on [building cuGraph from source](./SOURCEBUILD.md) to validate that the environment is correct.

**Pro Tip** add an upstream remote repository so that you can keep your forked repo in sync
```git remote add upstream https://github.com/rapidsai/cugraph.git```
Expand All @@ -105,7 +113,7 @@ cuGraph only allows contribution to the current branch and not main or a future
1. commit your code
```git push```
6. From the GitHub web page, open a Pull Request
1. follow the Pull Request [tagging policy](PRTAGS.md)
1. follow the Pull Request [tagging policy](./PRTAGS.md)

### Development Environment

Expand Down Expand Up @@ -154,46 +162,9 @@ implementation of the issue, ask them in the issue instead of the PR.


### Style Guide
All Python code most pass flake8 and black style checking; see using pre-commit below.

All Python code most pass flake8 style checking
All C++ code must pass clang style checking

All code must adhere to the [RAPIDS Style Guide](https://docs.rapids.ai/resources/style/)

#### Python / Pre-commit hooks

cuGraph developers may use [pre-commit](https://pre-commit.com/) to locally run code
linters and formatters including [Black](https://black.readthedocs.io/en/stable/)
and [flake8](https://flake8.pycqa.org/en/latest/). These tools ensure a consistent
code format throughout the project. Using pre-commit ensures that linter versions
and options are aligned for all developers. Additionally, there is a CI check in
place to enforce that committed code follows our standards.

To use `pre-commit`, install via `conda` or `pip`:

```bash
conda install -c conda-forge pre-commit
```

```bash
pip install pre-commit
```

Then run pre-commit hooks before committing code:

```bash
pre-commit run
```

Optionally, you may set up the pre-commit hooks to run automatically when you make a git commit. This can be done by running:

```bash
pre-commit install
```

Now code linters and formatters will be run each time you commit changes.

You can skip these checks with `git commit --no-verify` or with the short version `git commit -n`.

### Tests
All code must have associate test cases. Code without test will not be accepted
3 changes: 1 addition & 2 deletions PRTAGS.md → readme_pages/PRTAGS.md
Expand Up @@ -5,10 +5,9 @@ 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. __A WIP PR will not be merged into baseline__ |
| WIP | _Work In Progress_ - While it would be perferred to simple place the PR is [DRAFT](https://github.blog/2019-02-14-introducing-draft-pull-requests/) state (through GitHub), you can also label the PR as being a 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 |


Expand Down
5 changes: 1 addition & 4 deletions SOURCEBUILD.md → readme_pages/SOURCEBUILD.md
Expand Up @@ -9,7 +9,7 @@ The cuGraph package include both a C/C++ CUDA portion and a python portion. Bot
__Compiler__:
* `gcc` version 9.3+
* `nvcc` version 11.0+
* `cmake` version 3.23.1+
* `cmake` version 3.20.1+

__CUDA:__
* CUDA 11.0+
Expand Down Expand Up @@ -43,9 +43,6 @@ __Create the conda development environment__
```bash
# create the conda environment (assuming in base `cugraph` directory)

# for CUDA 11.0
conda env create --name cugraph_dev --file conda/environments/cugraph_dev_cuda11.0.yml

# for CUDA 11.2
conda env create --name cugraph_dev --file conda/environments/cugraph_dev_cuda11.2.yml

Expand Down
File renamed without changes.

0 comments on commit a6d85c0

Please sign in to comment.