Skip to content

Extend GDN and causal convolution fused state handling - #33461

Closed
Akshay Sonawane (apsonawane) wants to merge 4 commits into
asonawane/ported-ops-hyperconnection-tensorfrom
asonawane/ported-ops-gdn-convolution
Closed

Akshay Sonawane (apsonawane) wants to merge 4 commits into
asonawane/ported-ops-hyperconnection-tensorfrom
asonawane/ported-ops-gdn-convolution

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: 9d0678fbc3d2b039f0cdbe6b8af3c43633a41bc6. 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

Extend causal convolution and GatedDeltaNet with fused preparation, typed gates and recurrent intermediate-state outputs; include shape inference, fallback guards and tests.

Stack and main target

Depends on #33460.

This is layer 3/7 of the microsoft/onnxruntime stack. The current review base is asonawane/ported-ops-hyperconnection-tensor 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.

Do not mark ready: resolve the GDN state-output test failure before merging this layer.

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

Replacement opened directly against current main: #33471. The old branch is preserved; family documentation is bundled with the replacement.

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

- Support activation-type GDN gates and fused packed projection
handling.
- Extend causal convolution state/normalization handling with schema and
provider validation.
- Keep existing default modes and upstream regression coverage.

## Clean main-based replacement

Supersedes #33461.
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.

## Review and pipeline fixes

- Initialize `mid_state` for empty ragged requests from the incoming
state, or zero when absent, in both warp-specialized and generic
recurrent kernels.
- Add regression coverage for `cu_seqlens={0,0,1}`, head sizes 128 and
32, and both initial-state cases.
- Apply the same fused-decay reference and input setup for the
`softplus` and `qwen` aliases. The existing first-row-state regression
retains the `softplus` alias.
- Replace constructor use of `Node::OutputDefs()` with
`ComputeContext::OutputCount()` validation. The former API is absent in
the WebGPU plugin adapter and caused the Linux static-plugin and Windows
plugin compile failures.
- Synchronize the operator documentation with the extended schemas and
CPU/CUDA/DML registrations. These edits are source-derived; exact
generated-document validation remains with CI.
- The earlier React Native Android failure was an npm feed download
`ETIMEDOUT`, not an operator compilation failure.

## Validation

- Used the `qwen-flash` Conda environment.
- Ran `lintrunner -a` before committing, followed by a passing
check-only run over the full PR delta.
- `git diff --check` passed.
- Before the request to skip further builds, the changed GDN CUDA and
C++ test translation units compiled successfully. An isolated GPU3
harness using the current CUDA kernel bodies passed empty-request state
initialization for both warp/generic geometries, with and without
initial state.
- No full ONNX Runtime or GenAI rebuild was performed for these review
fixes. The isolated harness is not an end-to-end operator test run.
- No benchmark/profiling/evaluation scripts or local task metadata are
included.

### Runtime qualification

The earlier accumulated-build failure in
`GatedDeltaNetTest.RecurrentOutputsIncludeFirstRowState` compared
different recurrences because the reference did not recognize the
`softplus` alias. The reference has been corrected. A fresh full native
test-suite/model run has not been performed; keeping this PR in draft
pending CI and runtime qualification.
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