Skip to content

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

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

feat(cuda.core): add cluster scheduling policy to LaunchConfig#2702
atiaomar1978-hub wants to merge 6 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
ClusterSchedulingPolicyType (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.

This replaces closed #2668 (GitHub would not reopen that PR). Tests now also
cover getter/setter round-trip and launch() run-through for all three
policies, per review guidance on #2629.

Checklist

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

Test plan

  • Native attribute mapping for DEFAULT / SPREAD / LOAD_BALANCING
  • Getter/setter round-trip for each policy
  • Driver enum acceptance; invalid value rejection; CC < 9.0 gate
  • Combined cluster + policy attributes
  • Hopper+ launch() smoke for all three policies (skip on CC < 9.0)
  • RunPod: RTX 4090 / driver 580 / CTK 13.3 — 10 passed, 3 skipped (Hopper smokes)

Made with Cursor

Omar Atie and others added 4 commits August 18, 2026 14:26
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>
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>
…rough

Align NVIDIA#2629 tests with reviewer guidance: round-trip each policy on
LaunchConfig and exercise launch() for DEFAULT/SPREAD/LOAD_BALANCING.

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

copy-pr-bot Bot commented Aug 25, 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 25, 2026 16:54
Resolve _launch_config.pyi so LaunchConfig stubs keep the new
cluster_scheduling_policy_preference field on current main.

Co-authored-by: Cursor <cursoragent@cursor.com>
pre-commit.ci failed because the hand-merged .pyi did not match
stubgen-pyx 0.2.19 output for cluster_scheduling_policy_preference.

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

atiaomar1978-hub commented Aug 26, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by signed PR #2703.

#2703

Same change, linear history on current main, SSH-signed commits. Please review #2703 instead of this PR.

@atiaomar1978-hub

Copy link
Copy Markdown
Contributor Author

Superseded by signed PR #2703.

#2703

Same change, linear history on current main, SSH-signed commits. Please review #2703 instead of this PR.

@atiaomar1978-hub

Copy link
Copy Markdown
Contributor Author

Closing in favor of signed PR #2703.

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

1 participant