-
Notifications
You must be signed in to change notification settings - Fork 933
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
Expose stream-ordering in column view APIs #17434
Conversation
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.
nit: Unit test updates to test default stream usage.
Some of these are for the |
Yes, we want prefetching to take a stream. The underlying CUDA APIs are stream-ordered. We did not do so in the original design because it would require us to add streams to get_data, which we were not yet ready for at that time. This PR is a big milestone in the streams work, as it touches the very low level column APIs that we originally could not make stream-ordered. I am curious what specific blockers we have overcome to make this possible. We do have a note here about follow-up work once stream ordered get_data methods exist: cudf/cpp/include/cudf/utilities/prefetch.hpp Line 100 in 4de7e7a
We need to add unit tests before this can be approved. |
CUDA's prefetching APIs are stream-ordered, and when I first implemented prefetching in libcudf I did so under the assumption that we would eventually want to make it stream-ordered. While I still believe that is the right long-term technical solution, practically speaking it would require a significant amount of work to update all of libcudf to properly use a stream-ordered version of the prefetching APIs for no real benefit since we do not currently anticipate supporting multi-stream UVM use-cases. If that changes we can certainly reprioritize, but for now I would assume that stream-ordered prefetching in libcudf is backlogged for the foreseeable future in favor of higher priority changes. |
/merge |
Description
Adds stream parameter to
Note: Since stream-ordered prefetching is back-logged, we defer modifying the
get_data
member functions to accept a stream parameter for now.Reference:
Checklist