Skip to content
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] read_csv optimizations with streaming multiprocessors and MGPU #17238

Open
Hamed-AlMehdhar opened this issue Nov 2, 2024 · 1 comment
Labels
feature request New feature or request pylibcudf Issues specific to the pylibcudf package

Comments

@Hamed-AlMehdhar
Copy link

I have noticed that cuDF does not utilize concurrent streaming multiprocessors in the kernels launched during performing cudf.read_csv operation.

The main idea to be implemented is to utilize the concept of copy/compute overlap by utilizing non-default streams for different chunks of data to create the possibility of overlapping to optimize the operation. The kernels will be prioritized based on the execution percentage of the kernels launched (as per the nsight profiler) during the read_csv() operation launch to analyze the effect of using streaming multiprocessors. On top of using optimizing on the SM level, the optimization can also extend on the MGPU level with on top of concurrent SMs.

@Hamed-AlMehdhar Hamed-AlMehdhar added the feature request New feature or request label Nov 2, 2024
@brandon-b-miller
Copy link
Contributor

HI @Hamed-AlMehdhar ,

This is a great question. Overall, cuDF (and more recently cudf.pandas) attempts to be as faithful to the pandas API as possible. This means that we're not planning on exposing streams as part of the public cuDF API any time in the near future, so you wouldn't be able to implement the kind of custom streaming strategy you're envisioning.

However, exposing streams is on our roadmap for pylibcudf, a lower level library that cuDF uses under the hood, which supports csv reading. I'm not able to provide an ETA for this feature at at this time, but it's likely there will come a future state where you can use pylibcudf to implement your custom chunked read and take over with cuDF/cudf.pandas afterwards.

@brandon-b-miller brandon-b-miller added the pylibcudf Issues specific to the pylibcudf package label Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request pylibcudf Issues specific to the pylibcudf package
Projects
Status: Todo
Status: In Progress
Development

No branches or pull requests

2 participants