Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update branch-0.19 from release #41

Merged
merged 185 commits into from
Feb 25, 2021
Merged

Conversation

aschaffer
Copy link
Owner

aschaffer/branch-0.19 <- rapidsai/branch-0.19

seunghwak and others added 30 commits November 5, 2020 12:25
ajschmidt8 and others added 29 commits February 1, 2021 13:26
This PR prepares the changelog to be automatically updated during releases.

Authors:
  - AJ Schmidt (@ajschmidt8)

Approvers:
  - Rick Ratzel (@rlratzel)

URL: rapidsai/cuml#1368
Close #1313 #1331 #1330

Authors:
  - @Iroy30

Approvers:
  - Brad Rees (@BradReesWork)
  - Rick Ratzel (@rlratzel)
  - Alex Fender (@afender)

URL: #1332
This PR adds the GitHub action [PR Labeler](https://github.com/actions/labeler) to auto-label PRs based on their content. 

Labeling is managed with a configuration file `.github/labeler.yml` using the following [options](https://github.com/actions/labeler#usage).

Authors:
  - Joseph (@jolorunyomi)

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Rick Ratzel (@rlratzel)

URL: #1358
added the coverage plugin option by default
added pytest-cov package

Authors:
  - @jnke2016

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Brad Rees (@BradReesWork)

URL: #1352
Bug fixes for MNMG coarsen_graph, renumber_edgelist, relabel

Authors:
  - Seunghwa Kang (@seunghwak)

Approvers:
  - Andrei Schaffer (@aschaffer)
  - Rick Ratzel (@rlratzel)
  - Chuck Hastings (@ChuckHastings)
  - Alex Fender (@afender)

URL: #1364
updated the conda environments to have cmake 3.18 and update the README file

Authors:
  - Brad Rees (@BradReesWork)

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Rick Ratzel (@rlratzel)
  - Alex Fender (@afender)

URL: #1369
This exposes to cython / python newly added C++ functions `sort_and_shuffle_values()` and `renumber_edgelist()` in order to perform MNMG renumbering.

Authors:
  - Andrei Schaffer (@aschaffer)

Approvers:
  - Chuck Hastings (@ChuckHastings)
  - Seunghwa Kang (@seunghwak)
  - Alex Fender (@afender)

URL: #1355
…t cugraph as an external project and other tech debt removal (#1367)

This PR makes cuGraph's cmake files more consistent with other RAPIDS libs by matching the minimum required cmake version, adding `project()` statements to cugraph's thirdparty modules, and using `CMAKE_CURRENT_SOURCE_DIR` appropriately so paths are relative to the CMakeLists.txt file rather than the top-level cmake dir of the project (since that may not be the cugraph cpp dir in the case of cugraph being used as an external project by another application).

This also adds a `CUDA_ARCHITECTURES=OFF` setting to suppress the warning printed for each test target. This setting may be replaced/changed once the findcudatoolkit feature is used in a future cmake version.

This also removes the Arrow and GTest cmake files since Arrow is not a direct dependency and those files were not being used, and GTest is now a build requirement in the conda dev environment and does not need to be built from source (the conda dev env files have been updated accordingly).

This PR also addresses much of #1075 , but not completely since gunrock is still using `ExternalProject` due to (I think) updates that need to be made to their cmake files to support this.

This was tested by observing a successful clean build, however it was **not** tested by creating a separate cmake application to simulate cugraph being used as a 3rd party package.

Note: the changes in this PR were modeled after rapidsai/rmm#541

closes #1137 
closes #1266

Authors:
  - Rick Ratzel (@rlratzel)

Approvers:
  - Chuck Hastings (@ChuckHastings)
  - AJ Schmidt (@ajschmidt8)
  - Brad Rees (@BradReesWork)

URL: #1367
### Description
Let the egonet graph of a node x be the subgraph that includes the neighborhood of x and all edges between them. Here is a basic description (1-hop, single seed) :
- Add center node x to the graph.
- Go through all the neighbors y of this center node x, add edge (x, y) to the graph. 
- For each neighbor y of center node x, go through all the neighbors z of center node x, if there is an edge between y and z in the original graph, add edge (y, z) to our new graph. 

### Proposed solution
Rather than doing custom one/two hops features, we propose a generic k-hops solution leveraging BFS with cutoff to identify neighbors within a given radius. 

In addition to the single source version (matching what's available in Nx), we propose to handle multiple sources (seeds) at once which allows better performances.

This PR also enables a path in the experimental stack for returning multiple graphs (edge list format) from CUDA prims to python without using the legacy classes.

As future work, we want to enable concurrency for the cutoff BFS for each seed. This is dependent of #957 

Close #475

Authors:
  - Alex Fender (@afender)
  - @Iroy30

Approvers:
  - @Iroy30
  - Brad Rees (@BradReesWork)

URL: #1365
Authors:
  - @Iroy30

Approvers:
  - Brad Rees (@BradReesWork)
  - Alex Fender (@afender)

URL: #1378
Preparing for MNMG Leiden and ECG identified an area for code cleanup.

The original cuGraph implementation of Louvain would flatten the hierarchical clustering as it was computed, filling (and returning) the final clustering.  This adds an awkward step in the middle of the Louvain computation.  Additionally, since Louvain (and Leiden and ECG which derive from it) is actually a hierarchical clustering algorithm it would be nice to generate the actual Dendrogram.

This PR implements a Dendrogram class, a function for flattening the Dendrogram, and modifies Louvain, Leiden and ECG to use the Dendrogram class.

It was suggested that the Dendrogram class could be moved to raft, decided to defer that until later, it's easy enough to move.

Authors:
  - Chuck Hastings (@ChuckHastings)

Approvers:
  - Alex Fender (@afender)
  - Brad Rees (@BradReesWork)
  - Andrei Schaffer (@aschaffer)
  - Rick Ratzel (@rlratzel)
  - AJ Schmidt (@ajschmidt8)

URL: #1359
Fix forward-merge conflicts for #1370 [skip-ci]
…ted LD_LIBRARY_PATH for project flash runs (#1386)

* Updated CI scripts to use a different error handling convention
* Updated LD_LIBRARY_PATH for project flash runs
* Added extra logging to report status after each test command
* Added comments
* Removed unused "top-20 slowest" report
* Minor updates for consistency

Tested locally by simulating various error conditions (removed .so files, inserted errors in NBs, killed processes, etc.) and checked exit codes.  Still need to verify in a project Flash env, but using CI for that.

Authors:
  - Rick Ratzel (@rlratzel)

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Ray Douglass (@raydouglass)
  - Dillon Cullinan (@dillon-cullinan)

URL: #1386
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
Modify experimental::louvain to use the new `coarsen_graph` primitive.  This replaces the original implementation of `shrink_graph`.

Authors:
  - Chuck Hastings (@ChuckHastings)

Approvers:
  - Andrei Schaffer (@aschaffer)
  - Rick Ratzel (@rlratzel)
  - Seunghwa Kang (@seunghwak)

URL: #1362
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
…t using it (#1361)

Added initial infrastructure for MG C++ testing and a Pagerank MG test using it.

<s>Still a WIP, need to:</s>
* <s>Shuffle step is currently failing</s>
* <s>`graph_t` ctor expensive check is failing</s>
* <s>Finish comparison code to reference SG Pagerank results</s>
* <s>Fix the `#include` guard hack in `test_utilities.hpp`</s>
* <s>Lots of cleanup</s>
* <s>Refactor common steps into proper `SetUp()` and `TearDown()` functions</s>

closes #1136

Authors:
  - Rick Ratzel (@rlratzel)
  - Seunghwa Kang (@seunghwak)

Approvers:
  - Brad Rees (@BradReesWork)
  - Andrei Schaffer (@aschaffer)
  - Chuck Hastings (@ChuckHastings)

URL: #1361
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
This PR implements an approximated solution to the Traveling Salesperson Problem (TSP).
The algorithm is exposed under ```traversal``` through a Python API taking 2D pos as input and returning a route.
This PR relies on RAFT KNN: rapidsai/raft#126
Solves: #1185

Authors:
  - Hugo Linsenmaier (@hlinsen)

Approvers:
  - AJ Schmidt (@ajschmidt8)
  - Brad Rees (@BradReesWork)
  - Rick Ratzel (@rlratzel)
  - Alex Fender (@afender)
  - Andrei Schaffer (@aschaffer)

URL: #1360
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
Issues and PRs without activity for 30d will be marked as stale.
If there is no activity for 90d, they will be marked as rotten.

Authors:
  - Jordan Jacobelli (@Ethyling)

Approvers:
  - Brad Rees (@BradReesWork)
  - AJ Schmidt (@ajschmidt8)

URL: #1408
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
Follows #1408 

Updates the stale GHA with the following changes:

- [x] Uses `inactive-30d` and `inactive-90d` labels instead of `stale` and `rotten`
- [x] Updates comments to reflect changes in labels
- [x] Exempts the following labels from being marked `inactive-30d` or `inactive-90d`
  - `0 - Blocked`
  - `0 - Backlog`
  - `good first issue`

Authors:
  - Mike Wendt (@mike-wendt)

Approvers:
  - Ray Douglass (@raydouglass)

URL: #1413
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
The vertex list that was fed as input to TSP was of type `int64` which ended up being corrupted when passed down
to the cpp layer as `vtx_ptr`. I updated the wrapper to cast the vertices to `int32`. In addition, I fixed the handling of nstart in the wrapper which was assuming vertex ids were starting at 1.
Solves: #1410

Authors:
  - Hugo Linsenmaier (@hlinsen)

Approvers:
  - Brad Rees (@BradReesWork)

URL: #1412
[gpuCI] Auto-merge branch-0.18 to branch-0.19 [skip ci]
Rename to better reflect what this function should do than how it is currently implemented (which can change in the future for better performance).

Authors:
  - Seunghwa Kang (@seunghwak)

Approvers:
  - Chuck Hastings (@ChuckHastings)
  - Alex Fender (@afender)

URL: #1392
…e & use Ninja in CI (#1415)

- Build using `cmake --build`
- Add ccache env variables to conda recipe
- Use Ninja in CI

Authors:
  - Jordan Jacobelli (@Ethyling)

Approvers:
  - Dillon Cullinan (@dillon-cullinan)

URL: #1415
@aschaffer aschaffer merged commit a23ce0d into aschaffer:branch-0.19 Feb 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.