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

Fix Forward-Merger Conflicts #768

Merged
merged 15 commits into from
Aug 1, 2022

Conversation

ajschmidt8
Copy link
Member

This PR fixes the forward-merge conflicts in #754.

vyasr and others added 15 commits July 22, 2022 22:54
…#749)

Previously only pylibraft's copy was being updated, leading to an out-of-date branch of rapids-cmake being pulled for pyraft.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Sevag H (https://github.com/sevagh)
  - Robert Maynard (https://github.com/robertmaynard)

URL: rapidsai#749
Including `cpp/include/raft/comms/detail/util.hpp` more than once in separate files end up a link error:  "more than one definition ... ".

Add inline to fix this.

Authors:
  - Seunghwa Kang (https://github.com/seunghwak)

Approvers:
  - Chuck Hastings (https://github.com/ChuckHastings)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#750
This PR replace the current KMeans of Raft with cuml's implementation.
Closes rapidsai#28.
It is using the new `device_*_view` for the API.

Authors:
  - Micka (https://github.com/lowener)
  - Corey J. Nolet (https://github.com/cjnolet)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#605
`extents` now allows for an `IndexType` to index dimensions. This PR reflects those updates and tags to kokkos/mdspan@3309ce9

The update also follows three API changes:

1. `raft::mdarray/mdspan::data()` is renamed to `raft::mdarray/mdspan::data_handle()`
2. `raft::mdarray/mdspan::is_contiguous()` is renamed to `raft::mdarray/mdspan::is_exhaustive()`
3. `raft::mdarray/mdspan::is_always_contiguous()` is renamed to `raft::mdarray/mdspan::is_always_exhaustive()`

Authors:
  - Divye Gala (https://github.com/divyegala)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#751
This PR introduces the core RMAT generator primitive into RAFT. It supports the following features:
1. Can specify different `[a, b; c, d]` distribution parameters at each depth.
2. Can generate bipartite graphs (when the depth across rows and columns are different).
3. As a special case, can support the "traditional" RMAT case too.

Cc += @cjnolet, JFYI.
Also Cc += @PiotrBigajNV, JFYI.

_Note to the reviewers_: I know we already have an RMAT generator in cuGraph then why did we have to "duplicate" it in RAFT!? The reason here is that RAFT needs to generate such sparse graphs/adjacency matrices for benchmarking and unit-testing its sparse primitives. Similarly cugraph-ops will also need to do the same in its benchmarks/tests. We cannot introduce cuGraph as a dependency for these things. Hence, this PR. Also, the primitive here is very basic. It _only_ generates the directed edgelist with possible duplicate edges. So, the caller still needs to do this post-processing if/when required. This means, if we are still worried about code duplication, [this](https://github.com/rapidsai/cugraph/blob/branch-22.06/cpp/src/generators/generate_rmat_edgelist.cu#L34) core logic of cuGraph can be replaced by a call to the proposed API in this PR. I also know that the missing thing here is the `clip_and_flip` feature of cuGraph. It will be added soon.

Authors:
  - Thejaswi. N. S (https://github.com/teju85)

Approvers:
  - Robert Maynard (https://github.com/robertmaynard)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#738
Integrate a new KNN implementation.

Authors:
  - Artem M. Chirkin (https://github.com/achirkin)
  - Corey J. Nolet (https://github.com/cjnolet)

Approvers:
  - Tamas Bela Feher (https://github.com/tfeher)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#652
The new k-means implementation increased the build time significantly, which has a direct impact on our users who are also having to build against it. For now, I'm adding the old kmeans back in (albeit deprecating it) so that we unblock our users.

Authors:
  - Corey J. Nolet (https://github.com/cjnolet)

Approvers:
  - Divye Gala (https://github.com/divyegala)

URL: rapidsai#761
* Implement a transpose function that works on both column and row major matrix.
* sub-matrix is supported as well.

Authors:
  - Jiaming Yuan (https://github.com/trivialfis)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#739
Close rapidsai#740 .

Found by @achirkin , the size of `mapping` is non-deterministic. This is caused by the macro definition around whether `no_unique_address` is supported with nvcc. This PR uses the standard cpp version to define the macro regardless of the compiler being used.

Authors:
  - Jiaming Yuan (https://github.com/trivialfis)

Approvers:
  - Mark Hoemmen (https://github.com/mhoemmen)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#764
As a CLI tool CMake belongs in the build section and shouldn't need to be present in the host requirements.

Authors:
  - Vyas Ramasubramani (https://github.com/vyasr)

Approvers:
  - Mark Sadang (https://github.com/msadang)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#763
When `n_probes = n_lists`, ivf-flat should perform equal to the brute-force kNN (`recall == 1` in tests). However, it looks like in some rare cases in CI the recall is slightly smaller. This could be due to some numeric errors or due to the radix_topk not being stable.
This PR reduces the recall threshold in the tests for now to avoid occasional failures in the main branch while the issue is investigated.

Authors:
  - Artem M. Chirkin (https://github.com/achirkin)

Approvers:
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#766
@ajschmidt8 ajschmidt8 added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 1, 2022
@ajschmidt8 ajschmidt8 requested review from a team as code owners August 1, 2022 15:30
@ajschmidt8 ajschmidt8 changed the base branch from branch-22.08 to branch-22.10 August 1, 2022 15:32
@ajschmidt8 ajschmidt8 requested a review from a team as a code owner August 1, 2022 15:32
@ajschmidt8 ajschmidt8 merged commit 2c5681f into rapidsai:branch-22.10 Aug 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake cpp gpuCI improvement Improvement / enhancement to an existing function non-breaking Non-breaking change python
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants