-
Notifications
You must be signed in to change notification settings - Fork 915
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
Make device_buffer streams explicit and enforce move construction #8280
Make device_buffer streams explicit and enforce move construction #8280
Conversation
… of device_buffer (move instead), etc.
Codecov Report
@@ Coverage Diff @@
## branch-21.06 #8280 +/- ##
===============================================
Coverage ? 82.89%
===============================================
Files ? 105
Lines ? 17875
Branches ? 0
===============================================
Hits ? 14817
Misses ? 3058
Partials ? 0 Continue to review full report at Codecov.
|
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.
Looks good, just comments needs to be addressed.
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.
Java approval
Co-authored-by: Nghia Truong <[email protected]>
Co-authored-by: Nghia Truong <[email protected]>
@gpucibot merge |
Rerun tests. |
1 similar comment
Rerun tests. |
Removes default stream arguments from `rmm::device_buffer`. Now copy construction requires a stream argument (default copy ctor deleted), and copy assignment is disallowed (operator deleted). Move construction and assignment are still supported, and move assignment still use the most recently used stream for deallocating any previous data. Also improves device_buffer tests (implements TODOs in code). I don't think this should be merged until RAPIDS dependent libraries are ready for it. I have a libcudf PR in progress for this. Fixes #418 - [x] cuDF PR: rapidsai/cudf#8280 - [x] cuGraph PR: rapidsai/cugraph#1609 - [x] cuSpatial PR: rapidsai/cuspatial#403 - [x] cuML does not yet use device_buffer Authors: - Mark Harris (https://github.com/harrism) Approvers: - Rong Ou (https://github.com/rongou) - Keith Kraus (https://github.com/kkraus14) - Conor Hoekstra (https://github.com/codereport) - GALI PREM SAGAR (https://github.com/galipremsagar) URL: #775
In preparation for rapidsai/rmm#775, this PR has many changes to ensure streams on which device_buffers are allocated and copied are explicit. As a consequence, this PR also finds and fixes many places where buffers were copied that should have been moved. In addition, it adds copy constructors that take an optional stream to all
cudf::scalar
classes.This can and should be merged before rapidsai/rmm#775 to ensure no breakage of the build by that PR.