-
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
Enable detection of undesired stream usage #12089
Merged
rapids-bot
merged 47 commits into
rapidsai:branch-23.04
from
vyasr:feature/test_non_default_stream_usage
Mar 14, 2023
Merged
Enable detection of undesired stream usage #12089
rapids-bot
merged 47 commits into
rapidsai:branch-23.04
from
vyasr:feature/test_non_default_stream_usage
Mar 14, 2023
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
vyasr
added
feature request
New feature or request
3 - Ready for Review
Ready for review by team
libcudf
Affects libcudf (C++/CUDA) code.
non-breaking
Non-breaking change
labels
Nov 8, 2022
…non_default_stream_usage
jlowe
reviewed
Mar 1, 2023
robertmaynard
approved these changes
Mar 7, 2023
raydouglass
approved these changes
Mar 9, 2023
ttnghia
reviewed
Mar 9, 2023
ttnghia
reviewed
Mar 9, 2023
ttnghia
reviewed
Mar 9, 2023
ttnghia
reviewed
Mar 9, 2023
ttnghia
approved these changes
Mar 14, 2023
/merge |
rapids-bot bot
pushed a commit
that referenced
this pull request
Jun 5, 2023
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
3 - Ready for Review
Ready for review by team
CMake
CMake build issue
feature request
New feature or request
libcudf
Affects libcudf (C++/CUDA) code.
non-breaking
Non-breaking change
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.
Description
This PR builds on #11875 and partially addresses #11943. This PR allows us to run all tests on a precise stream (the newly introduced
cudf::test::get_default_stream()
) and then verify that all CUDA APIs end up invoked on that stream. This implements the feature required in #11943, but to apply it universally across libcudf will require the API changes that will expose streams so I plan to make those changes incrementally after this PR is merged.The preload library is now compiled twice, once to overload
cudf::get_default_stream
and once to overloadcudf::test::get_default_stream
. For now there is still some manual coordination associated with determining which one should be used with a given test, but once #12451 is merged and we start running all tests via ctest instead of direct invocation of the test executables we can start encoding this information in the CMake configuration of the tests by associating the require environment variables directly with the test executable usingset_tests_properties
.Checklist