Skip to content

Document generic CUDA operators and complete build compatibility - #33465

Closed
Akshay Sonawane (apsonawane) wants to merge 4 commits into
asonawane/ported-ops-mtp-fold-statefrom
asonawane/ported-ops-operator-docs-compatibility
Closed

Akshay Sonawane (apsonawane) wants to merge 4 commits into
asonawane/ported-ops-mtp-fold-statefrom
asonawane/ported-ops-operator-docs-compatibility

Conversation

@apsonawane

@apsonawane Akshay Sonawane (apsonawane) commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Main integration update

Merged repository main at 9a662b9395c7c5dc619ae4d050f2c9362d88eae3. Published head: e15aebba7f976b58f4826a06461ad0f6d103c5c8. Existing PR bases remain unchanged.

  • The exact remote head contains main and all preceding updated stack layers.
  • Used the qwen-flash conda environment; ran lintrunner -a before each new commit, followed by clean lint checks. Final branch-vs-main lint passes.
  • Published with normal fast-forward pushes, without amendments or force pushes.
  • No new benchmark/profiling/evaluation scripts or co-author trailers.
  • Validation includes C++ schema syntax checks, targeted CUDA SM90/host compilation of the affected operator families, and compilation of sparse/GDN/QMoE regression tests.
  • Preserved main's updated decode/API/IndexShare interfaces while adapting the local specializations; fixed merge-created declaration/template/adapter overlaps.
  • No complete rebuild or GPU/model requalification has run on this integrated snapshot. Earlier benchmark/parity results below apply to the pre-main combined snapshot, not this merge. The earlier GDN state-output failure remains unresolved.

This update supersedes earlier notes saying main has not been integrated, but does not remove the draft/build/runtime qualification requirements.

Summary

Update contrib operator/kernel documentation for the stack and include the remaining compatibility/formatting adjustments.

Stack and main target

Depends on #33464.

This is layer 7/7 of the microsoft/onnxruntime stack. The current review base is asonawane/ported-ops-mtp-fold-state so this PR shows only its incremental group. The final destination is upstream main: land/reconcile prerequisites first, then rebase and retarget this layer to main. Keep this PR in draft until that base-specific validation succeeds. Do not merge the entire stack through an unvalidated intermediate base.

Cross-repository dependency: GenAI package/runtime integration requires the companion ORT contrib operators.

Validation and blockers

  • Combined qualified source snapshot: 286/287 selected operator tests pass.
  • Known blocker: GatedDeltaNetTest.RecurrentOutputsIncludeFirstRowState fails in the existing combined workspace.
  • Three previously documented packed-indexer baseline failures were excluded: RejectsWrongOutputCount, QsaMalformedStateLengthsAreClamped, CsaMalformedStateLengthsAreClamped.
  • Five MTP/fold kernel tests pass separately.
  • Split schema translation units pass syntax checks at their individual stack stages.
  • Combined tip is byte-identical to the original workspace snapshot. Individual branch builds and upstream-main CI are still required.

Scope

  • Preserve the original dirty worktrees and existing PR branches.
  • No benchmark runners, profiling utilities, evaluation drivers, model weights or local task metadata in the new commits.
  • No Copilot co-author trailers in the new commit messages.
  • Broad compatibility with other models is not established by local Qwen qualification.

Stack navigation

Companion repository stack:

Part of the grouped generic CUDA operator stack. Preserve the qualified source snapshot.
@apsonawane

Copy link
Copy Markdown
Contributor Author

Closing this draft to replace the feature-based stack with focused branches rebuilt from current main. Existing branches are preserved; replacement PRs will be linked here.

@apsonawane

Copy link
Copy Markdown
Contributor Author

Documentation is now bundled with the independent main-based operator replacements: #33469, #33470, #33471, #33472, #33473, #33474. No separate documentation stack is needed; the obsolete adapter-accessor removal was not carried forward because current main already has exactly one valid accessor.

Akshay Sonawane (apsonawane) added a commit that referenced this pull request Oct 24, 2026
## Summary

- Add opt-in explicit FP32 arithmetic and packed input slicing for
BranchwiseRMSNorm.
- Add versioned RotaryEmbedding exact arithmetic while retaining
existing default dispatch.
- Keep RMS-chain regression coverage with this PR, independent of tensor
fusions.

## Review follow-up

- Honor deterministic CUDA sessions by using the existing fixed-order
column reduction instead of the single-row floating-point atomic
reduction. Default dispatch remains unchanged. The schema documents that
deterministic summation may round differently from the default path or
deterministic ReduceMean.
- Add CUDA exact-mode branch-scale parity coverage for distinct `(C, H)`
and flattened `(C * H)` scales over multiple outer rows, covering FP32,
FP16, and BF16 input and scale storage.
- Add a width-8192 single-row deterministic-session regression with a
numerical reference, repeated bitwise comparison, and widened-output
checks.
- Prevent GroupQueryAttentionFusion from removing either RotaryEmbedding
node when `use_fp32_arithmetic` is requested. Add a version-2
graph-transformer regression for query-only, key-only, both-exact, and
ordinary fusion.
- Regenerate the affected contrib and kernel documentation using the
official renderers with source-derived metadata, including version-2
availability/history, optional widened outputs, type constraints, and
CPU/CUDA/DML registrations. Full native `--gen_doc validate` remains a
CI check.

## Clean main-based replacement

Supersedes #33459.
Reconstructed directly on `main`
(`28225b8583474cf6a6e7f97222227ae668f80e8b`), without the old divergent
feature-branch history. This PR targets `main` directly and has no
dependency on another operator PR. Family documentation is bundled here;
the separate old documentation PR #33465 is retired.

## Validation

- Used the `qwen-flash` Conda environment.
- Ran `lintrunner -a` before committing, followed by a passing
check-only run on the full PR delta and `git diff --check`.
- Per request, the review follow-up does **not** rebuild ORT/GenAI or
execute the new native/GPU tests. Their execution and full
generated-documentation validation are left to CI.
- The original branch was previously checked with schema syntax checks
and affected CUDA/host/test translation-unit compilation (SM90); this
historical compile evidence does not validate the new review follow-up.
- The previous head's React Native Android failure was an npm
`ETIMEDOUT` downloading `supports-color`, not a source compilation
failure. CUDA builds succeeded, but CUDA test jobs were canceled. The
new push starts fresh CI; no claim that all pipelines are green.
- Full main-based model/GPU requalification remains outstanding; keeping
this PR in draft.
- No benchmark/profiling/evaluation scripts or local task metadata are
included.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant