Skip to content

Compare occupancy-based LRB grids with the fixed SM multiplier #12472

Open

Description

@anikaj-eng

Area

CUB

Problem

The warp and small-block sorting entries currently use an SM-scaled grid multiplier of 128. A grid based on each kernel's achievable occupancy may reduce idle work or improve scheduling, but a single resident wave can also underutilize irregular workloads.

Proposed work

  • Compare the existing multiplier with occupancy-based grids for warp and small-block entries independently.
  • Use each compiled kernel's actual threads, registers, and shared-memory requirements; evaluate a tunable number of occupancy-sized waves rather than equating occupancy with total work.
  • Preserve device-resident work bounds and avoid a device-to-host count copy for grid sizing.
  • Keep the grid multiplier distinct from the launch-bounds residency target and include the cost of resource queries in ordinary execution.

Validation / completion criteria

  • Benchmark uniform, skewed, few-segment, and very large workloads across supported key types and architectures.
  • Report end-to-end and per-stage time, idle work, achieved occupancy, and ordinary versus captured execution.
  • Retain the fixed-grid option unless measured results support a replacement heuristic; rerun correctness/synchronization checks when grids undersubscribe or oversubscribe work.

Context

Follow-up to the LRB segmented-sort backend in #12236.

Related work: #10952, #10800.

Activity

  1. changed the title [-][SPIKE]: Compare occupancy-based LRB grids with the fixed SM multiplier[/-] [+]Compare occupancy-based LRB grids with the fixed SM multiplier[/+] on Nov 9, 2026
  2. self-assigned this
    on Nov 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

  • Status
    Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions