-
Notifications
You must be signed in to change notification settings - Fork 532
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
[WIP] Sparse pairwise semi-ring kernel #2861
Closed
cjnolet
wants to merge
121
commits into
rapidsai:branch-0.17
from
cjnolet:fea-017-sparse-accumulator
Closed
[WIP] Sparse pairwise semi-ring kernel #2861
cjnolet
wants to merge
121
commits into
rapidsai:branch-0.17
from
cjnolet:fea-017-sparse-accumulator
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…_knn Conflicts: cpp/src_prims/sparse/cusparse_wrappers.h
…l swap them out shortly)
…ce algorithm to make pieces more reusable
Conflicts: CHANGELOG.md
…version seems super expensive, but maybe it's necessary.
cjnolet
changed the title
[WIP] Sparse pairwise accumulate & reduce kernel
[WIP] Sparse pairwise semi-ring kernel
Sep 24, 2020
This was referenced Nov 17, 2020
rapids-bot bot
pushed a commit
that referenced
this pull request
Jan 30, 2021
Closes #1448 I'm not sure why/how the original PR for this was closed but I'm opening up a new PR for this. Please refer to original PR for more info: #2861 If reviewing this prim, you can start with `cpp/src_prims/sparse/distance/coo_spmv.cuh` and `cpp/src_prims/sparse/csr_spmv.cuh` and associated Gtest. cc @teju85 As mentioned in comments throughout this PR, there are a few tasks which will be pushed off to the next PR. Here are a few tasks that remain in this PR to prep for release 0.18: - [x] Add explicit distance gtests for coo_spmv and csr_spmv - [x] Add gtest case for Hellinger distance in distance prim tests - [x] Add a pytest for very wide but very sparse input (to test switch to csr kernel) Authors: - Corey J. Nolet (@cjnolet) - Ray Douglass (@raydouglass) Approvers: - Tamas Bela Feher (@tfeher) - John Zedlewski (@JohnZed) URL: #3146
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements Lp-style distances and their derivatives with a matrix-vector-operation-style mapping to warps and a semi-ring-style pluggability w/ accumulation and reduction functions. The initial version (in this PR) will only aim to provide an Lp distance primitive that shows a significant speedup over CPU.
Assuming it will be fast enough, future versions of this implementation could potentially have several benefits even over the existing dot product (and expanded euclidean) prims, which use cusparse csrgemm: