Skip to content

Fallback to async-mr for the multithreaded parquet example#22245

Open
mhaseeb123 wants to merge 13 commits intorapidsai:mainfrom
mhaseeb123:fix/use-async-mr-parquet-example
Open

Fallback to async-mr for the multithreaded parquet example#22245
mhaseeb123 wants to merge 13 commits intorapidsai:mainfrom
mhaseeb123:fix/use-async-mr-parquet-example

Conversation

@mhaseeb123
Copy link
Copy Markdown
Member

Description

Construct an async-mr when is_pool_used is false so that the multithreaded parquet example runs without unnecessary synchronizations.

Checklist

  • I am familiar with the Contributing Guidelines.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Apr 21, 2026

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Apr 21, 2026
@@ -0,0 +1,40 @@
/*
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copied as is from hybrid_scan_io/benchmark.hpp for self-contained example.

*/

cuda::mr::any_resource<cuda::mr::device_accessible> create_memory_resource(bool is_pool_used)
std::shared_ptr<rmm::mr::device_memory_resource> create_memory_resource(bool is_pool_used)
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Create async-mr when pool not used so that the multithreaded example version doesn't get by unnecessary syncs

@mhaseeb123 mhaseeb123 added 3 - Ready for Review Ready for review by team Performance Performance related issue improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Apr 21, 2026
@mhaseeb123 mhaseeb123 marked this pull request as ready for review April 21, 2026 22:39
@mhaseeb123 mhaseeb123 requested a review from a team as a code owner April 21, 2026 22:39
@mhaseeb123 mhaseeb123 requested review from bdice and vuule April 21, 2026 22:39
@mhaseeb123
Copy link
Copy Markdown
Member Author

mhaseeb123 commented Apr 21, 2026

Example Nsys profile from the parquet_io_multithreaded example without (Top) and with (Bottom) this PR
image

Comment thread cpp/examples/parquet_io/common_utils.cpp Outdated
@mhaseeb123 mhaseeb123 requested a review from bdice April 24, 2026 03:25
@mhaseeb123 mhaseeb123 added 4 - Needs Review Waiting for reviewer to review or respond and removed 3 - Ready for Review Ready for review by team labels Apr 24, 2026
Comment thread cpp/examples/parquet_io/parquet_io_multithreaded.cpp Outdated
Comment thread cpp/examples/parquet_io/parquet_io_multithreaded.cpp Outdated
@mhaseeb123 mhaseeb123 added 5 - Ready to Merge Testing and reviews complete, ready to merge and removed 4 - Needs Review Waiting for reviewer to review or respond labels May 7, 2026
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 7, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@mhaseeb123
Copy link
Copy Markdown
Member Author

/ok to test 8eb44f3

@mhaseeb123 mhaseeb123 moved this to Burndown in libcudf May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5 - Ready to Merge Testing and reviews complete, ready to merge improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Performance Performance related issue

Projects

Status: Burndown

Development

Successfully merging this pull request may close these issues.

3 participants