Skip to content

Use async memory resource by default in microbenchmarks - #23586

Open
vuule wants to merge 6 commits into
NVIDIA:mainfrom
vuule:bench-default-mr-async
Open

Use async memory resource by default in microbenchmarks#23586
vuule wants to merge 6 commits into
NVIDIA:mainfrom
vuule:bench-default-mr-async

Conversation

@vuule

@vuule vuule commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Description

Closes #23464

Changes the default --rmm_mode for the nvbench base fixture from pool to async.

Measured cases show up to 10% lower performance, with the exception of segmented_bitmask_and, which makes many allocations (10K) and get 60% slower with async mr.

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-pr-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown

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.

@github-actions github-actions Bot added the libcudf Affects libcudf (C++/CUDA) code. label Aug 7, 2026
@vuule vuule changed the title Use async memory resource by default in libcudf microbenchmarks Use async memory resource by default in microbenchmarks Aug 7, 2026
@vuule vuule added tests Unit testing for project Performance Performance related issue improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Aug 7, 2026
@vuule

vuule commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test b98ce36

@vuule
vuule marked this pull request as ready for review August 12, 2026 02:55
@vuule
vuule requested a review from a team as a code owner August 12, 2026 18:45
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 466a5f58-facf-4765-87d5-02354b777403

📥 Commits

Reviewing files that changed from the base of the PR and between e9b1458 and 4bff058.

📒 Files selected for processing (1)
  • cpp/benchmarks/fixture/nvbench_fixture.hpp

📝 Walkthrough

Summary by CodeRabbit

  • New Features
    • Benchmarks now default to CUDA’s asynchronous memory resource for improved memory management behavior.

Walkthrough

The NVBench fixture now documents and selects the RMM async device resource by default. The SPDX attribution also includes affiliates.

Changes

Benchmark resource default

Layer / File(s) Summary
Align fixture documentation and default resource
cpp/benchmarks/fixture/nvbench_fixture.hpp
The fixture documentation identifies the RMM async device resource as the default. nvbench_base_fixture::rmm_mode changes from "pool" to "async". The SPDX attribution includes affiliates.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Suggested reviewers: bdice, davidwendt, gregorykimball

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The change implements issue #23464 by setting the nvbench fixture default rmm_mode to async.
Out of Scope Changes check ✅ Passed The copyright and fixture documentation updates support the requested default change and are not out of scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly states the primary change: using the async memory resource by default in microbenchmarks.
Description check ✅ Passed The description directly explains the default change, performance impact, linked issue, and checklist status.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@vuule

vuule commented Aug 12, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 84a4d4f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Performance Performance related issue tests Unit testing for project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Default benchmarks to the async memory resource

2 participants