Skip to content

feat(cuda.core): add cluster scheduling policy to LaunchConfig - #2668

Closed
atiaomar1978-hub wants to merge 3 commits into
NVIDIA:mainfrom
atiaomar1978-hub:feat/launch-config-cluster-scheduling-policy-2629
Closed

feat(cuda.core): add cluster scheduling policy to LaunchConfig#2668
atiaomar1978-hub wants to merge 3 commits into
NVIDIA:mainfrom
atiaomar1978-hub:feat/launch-config-cluster-scheduling-policy-2629

Conversation

@atiaomar1978-hub

Copy link
Copy Markdown
Contributor

Description

closes #2629

Add cluster_scheduling_policy_preference to LaunchConfig, mapping to
CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE via a new
ClusterSchedulingPolicyType enum (DEFAULT, SPREAD, LOAD_BALANCING).

Unlike stream synchronization policy (#2628), cluster scheduling policy is
documented as valid for graph nodes and kernel launches, so LaunchConfig is
the correct surface.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Test plan

  • Unit tests: native attribute mapping for all three enum values, driver enum acceptance, invalid value rejection, CC < 9.0 gate
  • GPU smoke test: launch saxpy with cluster=(2,1,1) and LOAD_BALANCING on Hopper+
  • pre-commit (ruff, stubgen-pyx, cython-lint, mypy-cuda-core)

Expose CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE on
LaunchConfig via ClusterSchedulingPolicyType, with validation, CC >= 9.0
gating, and tests mapping to the native launch attribute.

Closes NVIDIA#2629

Co-authored-by: Cursor <cursoragent@cursor.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

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.

Omar Atie and others added 2 commits August 18, 2026 14:32
Assert LaunchConfig emits both CU_LAUNCH_ATTRIBUTE_CLUSTER_DIMENSION
and CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE when set.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use init_cuda with an inline noop kernel so test_launcher.py does not
depend on the get_saxpy_kernel_cubin fixture from test_module.py.

Co-authored-by: Cursor <cursoragent@cursor.com>
@lijinf2

lijinf2 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution!

Please wait to be assigned to the related issue before opening a PR. That helps us avoid duplicate work and keep review capacity manageable when several PRs land at once.

Please follow our Contributing Guidelines: comment on the issue to express interest, wait for a maintainer to assign it to you, then start the implementation and open the PR.

I'm closing this PR for now so we can focus review time on your other open PRs. Feel free to reopen (or open a new PR) once you're assigned on the issue.

@lijinf2

lijinf2 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Closing for now pending issue assignment; see comment above.

@lijinf2 lijinf2 closed this Aug 18, 2026
@atiaomar1978-hub

Copy link
Copy Markdown
Contributor Author

Okay understood @lijinf2

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

Labels

cuda.core Everything related to the cuda.core module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEA]: Support CU_LAUNCH_ATTRIBUTE_CLUSTER_SCHEDULING_POLICY_PREFERENCE in LaunchConfig

2 participants