-
Notifications
You must be signed in to change notification settings - Fork 15
Use CUDA events instead of CUDA device/stream synchronization #225
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
Merged
rapids-bot
merged 56 commits into
rapidsai:branch-25.06
from
pentschev:buffer-cuda-event
May 5, 2025
Merged
Changes from all commits
Commits
Show all changes
56 commits
Select commit
Hold shift + click to select a range
2c0dac4
Use CUDA events to track `Buffer` copy progress
pentschev 1202c50
Test for copy completion
pentschev bc40a83
Throw exception if buffer copy didn't complete before `send()`
pentschev 6954a34
Only send GPU data if copy is complete
pentschev c3b04e3
Prevent receiving on incomplete `Buffer` allocation
pentschev ecb9e2d
Use `BufferWithEvent`
pentschev fa236cb
Log destruction/release if allocation is not complete
pentschev e393aa0
Merge branch 'branch-25.06' into buffer-cuda-event
pentschev c23e13f
Merge remote-tracking branch 'upstream/branch-25.06' into buffer-cuda…
pentschev 33015af
Disable event tracking instead of logger
pentschev 2699326
Merge remote-tracking branch 'origin/buffer-cuda-event' into buffer-c…
pentschev 23673ab
Replace incorrect use of `RAPIDSMPF_CUDA_TRY_ALLOC`
pentschev 1180b8e
Create evens with `cudaEventDisableTiming`
pentschev aa2ade6
Merge remote-tracking branch 'upstream/branch-25.06' into buffer-cuda…
pentschev 7714a6f
Simplify condition
pentschev eded688
Make synchronization the user's responsibility before `send()`
pentschev 8887137
Merge remote-tracking branch 'origin/buffer-cuda-event' into buffer-c…
pentschev 0bac2a6
Fix style
pentschev 5f04b7a
Chunk CUDA event
pentschev 01b2717
Ensure ready-for-data messages are not lost
pentschev 95cb163
Merge remote-tracking branch 'upstream/branch-25.06' into buffer-cuda…
pentschev 42d2b9f
Prevent reinsertion
pentschev f019d8d
Ensure thread-safety of `Chunk::Event::is_done()`
pentschev 0226f52
Revert "Ensure ready-for-data messages are not lost"
pentschev a56070c
Only extract chunks that are ready from inbox
pentschev aaad38c
Combine all event checks within `Chunk`
pentschev 02b6c01
Remove redundant check while processing `outgoing_chunks_`
pentschev 1f41e92
Merge remote-tracking branch 'upstream/branch-25.06' into buffer-cuda…
pentschev 4ae9a4e
Provide CUDA event for all Buffer relevant cases, remove BufferWithEvent
pentschev 63f819e
Construct `Buffer` pointers without destroying original object
pentschev 71a8786
Improvements
pentschev 3055053
Clarify use of streams
pentschev 725c3aa
Simplify `is_ready()` condition
pentschev 21f04a1
Avoid `Chunk::Event` use-after-free
pentschev 11bac26
Move all CUDA events into `Buffer`
pentschev dfd6e70
Move `Event` definition to `buffer.hpp`
pentschev 6795eff
Update `Chunk::is_ready()` docstring
pentschev dc1d898
Allow use of a shared `Buffer::Event`
pentschev b448c7e
Fix use-after-free in `Buffer::Event`
pentschev 007a536
Prevent constness cast
pentschev 8f6ecaf
Remove IncomingChunk
pentschev 10fc871
Fix Event destruction (again)
pentschev e2d8c9c
Fix Event smart-pointer type
pentschev 27f856c
Simplify `is_ready()` condition
pentschev 640c2bf
Fixed docstring
pentschev 40ebb2a
Fix build errors
pentschev 3f65ea3
Merge remote-tracking branch 'upstream/branch-25.06' into buffer-cuda…
pentschev 17c01e2
Simplify `Event` destructor to rely on smart-pointer for thread-safety
pentschev 8627cfc
Improve docs
pentschev afd84a1
Typo fixes
pentschev cb0b159
Terminate if buffers are not ready for use
pentschev 1f2f966
Merge remote-tracking branch 'origin/buffer-cuda-event' into buffer-c…
pentschev de3db36
Remove expected_num_chunks from Chunks constructor with gpu_data
pentschev 294d5b9
Fix Chunk::is_ready condition
pentschev 6a1ae03
Update condition and is_ready docstring
pentschev 16c8b17
Check for gpu_data_size
pentschev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.