Repository navigation
Extend GDN and causal convolution fused state handling - #33461
Closed
Akshay Sonawane (apsonawane) wants to merge 4 commits into
Closed
Akshay Sonawane (apsonawane) wants to merge 4 commits into
Akshay Sonawane (apsonawane) wants to merge 4 commits into
Conversation
Part of the grouped generic CUDA operator stack. Preserve the qualified source snapshot.
This was referenced Oct 19, 2026
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. |
3 tasks done
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Main integration update
Merged repository
mainat9a662b9395c7c5dc619ae4d050f2c9362d88eae3. Published head:9d0678fbc3d2b039f0cdbe6b8af3c43633a41bc6. Existing PR bases remain unchanged.qwen-flashconda environment; ranlintrunner -abefore each new commit, followed by clean lint checks. Final branch-vs-main lint passes.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-tensorso this PR shows only its incremental group. The final destination is upstreammain: land/reconcile prerequisites first, then rebase and retarget this layer tomain. 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
GatedDeltaNetTest.RecurrentOutputsIncludeFirstRowStatefails in the existing combined workspace.RejectsWrongOutputCount,QsaMalformedStateLengthsAreClamped,CsaMalformedStateLengthsAreClamped.Do not mark ready: resolve the GDN state-output test failure before merging this layer.
Scope
Stack navigation
Companion repository stack: