-
Notifications
You must be signed in to change notification settings - Fork 200
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
[FEA] Add a argument or flag to control whether the constructor and operator= should be async #557
Comments
rmm/include/rmm/device_scalar.hpp Line 127 in 6a3a62f
rmm/include/rmm/device_scalar.hpp Line 154 in 6a3a62f
rmm/include/rmm/device_scalar.hpp Line 190 in 6a3a62f
Why the |
I think the intended design is that everything is async and stream-ordered. A user is free to add a synchronous wrapper if needed, but in general in RAPIDS we need asynchronicity. You could use a |
I think the original issue brings up valid points. There's a lot of things I don't like about
I would like to make similar changes to |
This issue has been marked rotten due to no recent activity in the past 90d. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. |
This issue has been marked stale due to no recent activity in the past 30d. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be marked rotten if there is no activity in the next 60d. |
#775 addresses #2 and #4 in Jake's list. It deletes the copy assignment operator and copy constructor, and requires an explicit stream everywhere possible (e.g. @jrhemstad are you suggesting we remove this constructor? rmm/include/rmm/device_buffer.hpp Lines 124 to 132 in 0cc1380
And when you say "I would make the constructor synchronous ", you don't mean to synchronize the specified stream, do you? |
@jrhemstad can you comment? I'd like to make progress on closing or implementing this FEA. |
I think I meant making that constructor synchronous (sync the specified stream) and have an async factory. |
Wouldn't an sync factory need to call an async constructor? |
This issue has been labeled |
This issue has been labeled |
Add a argument or flag to control whether the constructor and operator= should be async
rmm/include/rmm/device_buffer.hpp
Line 118 in 6a3a62f
rmm/include/rmm/device_buffer.hpp
Line 198 in 6a3a62f
rmm/include/rmm/device_buffer.hpp
Line 438 in 6a3a62f
the
copy()
is async and the abovector
andoperator=
do not wait for the copy to be done, so the caller may need to sync t he stream explicitly (e.g. if the caller operate on more than two different stream(s))I think it's better to add a extra parameter or flag to indicate whether we need a
sync
patten,and we can give it a default argument so no code need to be changed for RMM user (e.g. cuDF and rapids)The text was updated successfully, but these errors were encountered: