-
Notifications
You must be signed in to change notification settings - Fork 917
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
Support multithreaded reading of compressed buffers in JSON reader #17670
base: branch-25.02
Are you sure you want to change the base?
Conversation
…FST (rapidsai#17471) Addresses rapidsai#15820 Authors: - Shruti Shivakumar (https://github.com/shrshi) Approvers: - Vukasin Milovanovic (https://github.com/vuule) - Nghia Truong (https://github.com/ttnghia) URL: rapidsai#17471
/ok to test |
/ok to test |
/ok to test |
/ok to test |
/ok to test |
/ok to test |
…to json-multithreaded-compio
/ok to test |
/ok to test |
std::future<size_t> device_read_async(size_t offset, | ||
size_t size, | ||
uint8_t* dst, | ||
rmm::cuda_stream_view stream) override | ||
{ | ||
auto& thread_pool = pools::tpool(); | ||
return thread_pool.submit_task([this, offset, size, dst, stream] { |
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.
Will this be called by multiple threads? If so, we may have a race condition issue.
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.
No, device_read_async
is only called by the primary thread. Each of the worker threads executes the code in thread_pool.submit_task(..)
/ok to test |
Description
Addresses #17638
This PR introduces multithreaded host-side decompression of compressed input buffers passed to the JSON reader, and uses a stream pool to transfer the uncompressed buffers to device.
Checklist