Skip to content

Add a pre-partitioned shuffle benchmark - #1197

Draft
nirandaperera wants to merge 11 commits into
rapidsai:mainfrom
nirandaperera:add-bench-shuffle
Draft

Add a pre-partitioned shuffle benchmark#1197
nirandaperera wants to merge 11 commits into
rapidsai:mainfrom
nirandaperera:add-bench-shuffle

Conversation

@nirandaperera

@nirandaperera nirandaperera commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

There was no RapidsMPF-native shuffle benchmark after the cuDF shuffle bench was removed, so disk spilling could not be exercised from the C++ benchmark suite. This adds bench_shuffle, which inserts known-size pre-partitioned buffers and times shuffle plus extract, including restore cost when chunks were spilled.

  • Add cpp/benchmarks/bench_shuffle.cpp with cuDF-like -n/-p/-o scaling, MPI/UCXX launch, and BufferResource::from_options() so spill/disk behavior is env-driven.
  • Validate partition routing and payloads by default; -s discards output for performance-only runs.
  • Smoke MPI shuffle, rrun/UCXX shuffle, and a single-rank disk-spill path (device=0, host=0, pinned off).

Depends on #1196
Related to #1170

Signed-off-by: niranda perera <niranda.perera@gmail.com>
- Track pageable-host allocations through the generalized resource adaptor.
- Add an absolute, unbounded-by-default host memory limit.
- Reconcile pageable and pinned-host budgets and reject invalid pinned limits.
- Extend statistics, Python bindings, documentation, and tests.

Signed-off-by: niranda perera <niranda.perera@gmail.com>
- Spill device chunks to host or disk and restore them on extract.
- Keep disk payloads off the send path and reject send-ready disk chunks.

Signed-off-by: niranda perera <niranda.perera@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown

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.

@nirandaperera nirandaperera added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Sep 3, 2026
@nirandaperera
nirandaperera force-pushed the add-bench-shuffle branch 2 times, most recently from eaccb6e to 3968fba Compare September 4, 2026 20:22
Signed-off-by: niranda perera <niranda.perera@gmail.com>
@nirandaperera
nirandaperera force-pushed the add-bench-shuffle branch 2 times, most recently from 2654a3c to cf6db2f Compare September 4, 2026 23:08
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Signed-off-by: niranda perera <niranda.perera@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant