Skip to content

Prepare select and partition tuning policies for lookahead#10076

Open
bernhardmgruber wants to merge 3 commits into
NVIDIA:mainfrom
bernhardmgruber:tune_select_part
Open

Prepare select and partition tuning policies for lookahead#10076
bernhardmgruber wants to merge 3 commits into
NVIDIA:mainfrom
bernhardmgruber:tune_select_part

Conversation

@bernhardmgruber

Copy link
Copy Markdown
Contributor

Fixes part of: #10075

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

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: Enterprise

Run ID: b15799e9-2c08-4c53-9bfa-c5226b5611b9

📥 Commits

Reviewing files that changed from the base of the PR and between 4874f7f and 4c7f2cd.

📒 Files selected for processing (12)
  • cub/benchmarks/bench/partition/flagged.cu
  • cub/benchmarks/bench/partition/if.cu
  • cub/benchmarks/bench/select/flagged.cu
  • cub/benchmarks/bench/select/if.cu
  • cub/benchmarks/bench/select/unique.cu
  • cub/cub/device/device_partition.cuh
  • cub/cub/device/dispatch/dispatch_select_if.cuh
  • cub/cub/device/dispatch/tuning/tuning_select_if.cuh
  • cub/test/catch2_test_device_partition_env.cu
  • cub/test/catch2_test_device_partition_env_api.cu
  • cub/test/catch2_test_device_select_env.cu
  • cub/test/catch2_test_device_select_env_api.cu
🚧 Files skipped from review as they are similar to previous changes (10)
  • cub/cub/device/device_partition.cuh
  • cub/benchmarks/bench/select/flagged.cu
  • cub/test/catch2_test_device_select_env_api.cu
  • cub/benchmarks/bench/partition/flagged.cu
  • cub/test/catch2_test_device_partition_env_api.cu
  • cub/cub/device/dispatch/dispatch_select_if.cuh
  • cub/benchmarks/bench/select/if.cu
  • cub/benchmarks/bench/select/unique.cu
  • cub/test/catch2_test_device_partition_env.cu
  • cub/cub/device/dispatch/tuning/tuning_select_if.cuh

📝 Walkthrough

Summary by CodeRabbit

  • Refactor

    • Updated selection and partition tuning policies to explicitly use the lookback algorithm.
    • Reorganized lookback-related tuning parameters under a nested configuration for clearer, consistent policy construction.
    • Improved policy equality/comparison and string formatting to reflect the new structure.
  • Tests

    • Updated device tuning and validation tests, including expected policy descriptions, to match the nested policy layout.
    • Adjusted benchmark policy construction to use the explicit lookback algorithm selection.

Walkthrough

Changes

Lookback tuning policies now use explicit algorithm discriminators and nested payload structs. Device dispatch, benchmarks, and tests are updated to construct and consume the new SelectPolicy and PartitionPolicy layouts.

Suggested labels: libcu++

Suggested reviewers: oleksandr-pavlyk, pauleonix


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

@github-actions

This comment has been minimized.

@oleksandr-pavlyk

Copy link
Copy Markdown
Contributor
Generating Doxygen XML...
/home/runner/_work/cccl/cccl/cub/cub/device/dispatch/tuning/tuning_select_if.cuh:72: error: unable to resolve reference to 'DeviceSelect' for \ref command
/home/runner/_work/cccl/cccl/cub/cub/device/dispatch/tuning/tuning_select_if.cuh:72: error: unable to resolve reference to 'DeviceSelect' for \ref command
Error: one or more Doxygen builds failed (see warnings above)

The line 72 reads:

72: //! The selection algorithm used by @ref DeviceSelect

but earlier line 37 seem to be using exact same thing without triggering error:

37: //! The lookback tuning policy for all non-ByKey algorithms in @ref DeviceSelect

@github-actions

This comment has been minimized.

@github-actions

Copy link
Copy Markdown
Contributor

🥳 CI Workflow Results

🟩 Finished in 2h 54m: Pass: 100%/287 | Total: 13d 15h | Max: 2h 42m | Hits: 17%/1269016

See results here.

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

Labels

None yet

Projects

Status: In Review

Development

Successfully merging this pull request may close these issues.

3 participants