-
Notifications
You must be signed in to change notification settings - Fork 916
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
Add stream parameter to hashing APIs #12090
Add stream parameter to hashing APIs #12090
Conversation
To test this, run the following from the root of the repo:
from the root of the repo. The output will be noisy because of all of the APIs that have not yet been updated to accept streams. Those will improve as I work on this more. |
8a8f0d6
to
cbbcc1f
Compare
cbbcc1f
to
35b29e4
Compare
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
35b29e4
to
14dce92
Compare
c0da14e
to
45d8223
Compare
82fba41
to
8db038d
Compare
175312d
to
dbc3853
Compare
The last commit on this branch (dbc3853) includes all changes needed to get the test to pass. It turned out to almost entirely be changes to cudf's testing utilities, hashing looks like it didn't require much else to change. Reviewers wishing to test the changes (with the command that I posted in my previous comment) can revert that change to see the expected failures locally. |
dbc3853
to
6d0dafb
Compare
This PR now depends on #13506. It will not be merged into 23.08, but rather into an ongoing feature branch for streams development. |
6d0dafb
to
07e16d0
Compare
07e16d0
to
9c2606a
Compare
For the purpose of verifying that streams are properly forwarded through all libcudf APIs, libcudf tests will be rewritten to use `cudf::test::get_default_stream()` (introduced in #12089) instead of `cudf::get_default_stream()`. By default, these are identical, so this change is typically a no-op, but when using the preload library features added in #12089 we will be able to use a custom (non CUDA-default) stream in tests and verify that it is the only stream used. This PR contains a subset of changes needed to existing test functionality without making any changes to libcudf public APIs. These changes are extracted from #12090. Contributes to #11943. Authors: - Vyas Ramasubramani (https://github.com/vyasr) Approvers: - Nghia Truong (https://github.com/ttnghia) - Mark Harris (https://github.com/harrism) URL: #13506
@PointKernel @davidwendt apologies for the churn on this PR, it's gone through a ton of iterations as I've slowly extracted more and more of the logic into upstream PRs in order to incorporate the changes as cleanly as possible and with the most logical PR structure for reviews (and to avoid merging any stream-related API changes to the main branches until everything upstream is really prepared). This PR is finally ready now, and it's fairly minimal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work!
I got my questions answered during today's lunch but it would be great to elaborate a bit on how the stream test works in general in the PR description. This is the beginning of a long list of similar PRs adding stream tests thus the explanation will facilitate the following review work a lot.
I've added an extended description of the test framework in #13556. Hopefully that helps provide good context to point to for future reviewers, @PointKernel let me know what you think too. |
Co-authored-by: David Wendt <45795991+davidwendt@users.noreply.github.com>
/merge |
Description
This PR adds a stream parameter to
cudf::hash
, allowing callers to request execution on a stream other than cudf's default stream.Checklist