Conversation
Freeze reused blocks during capture and remove reactivated storage from free lists before trimming. Add allocator lifetime regressions.
Keep reduction descriptors and workspace alive, key the cache by actual axes, and initialize scalar sums without capturing stack addresses. Cover changed-input graph replay.
Reuse the existing slice-copy path so replay updates concatenated inputs. Test graph producers and noncontiguous views across supported activation dtypes.
This was referenced Sep 17, 2026
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.
Graph capture can reuse an allocator block without freezing it, trim reactivated graph storage, or omit reduction/scalar-power/MetaX concatenation operations from replay. These defects break indexed recurrent inference. The three commits repair allocation ownership, reduction recording, and MetaX last-axis concatenation separately using existing graph interfaces.
Branch:
fix/graph-replay-lifetimes. Base:InfiniLM-v0.2.9c.The diff contains eight files (+185/-39), including focused allocator, changed-input reduction, axis-cache and strided-concatenation regressions. It adds no graph compiler or Prefill capture feature.
Validation: current C500 slice tests passed for reduction/scalar-power replay (5) and concatenation (6); the same run separately checked the precision PR (2). Previous matching-source validation covered NVIDIA concatenation, reduction and allocator behavior. The current production source is byte-identical to that validated implementation. Format and whitespace checks passed. The new split branch has not undergone a fresh standalone accelerator build; combined-runtime tests do not replace that check.
Published as a draft while independent branch builds and upstream CI are pending.
Saved output, source provenance, device conditions and archived measurements: immutable evidence. Attachments live on a separate fork branch and are not part of this source diff.
CI at publication: fork Ruff passed; the independent fork CPU build/test matrix is in progress. The upstream run reports
action_requiredand needs repository-side approval. No successful upstream build is claimed.