Integrate CUDA workspace with activation memory patterns - #32071
Draft
Chi Lo (chilo-ms) wants to merge 6 commits into
Draft
Integrate CUDA workspace with activation memory patterns#32071Chi Lo (chilo-ms) wants to merge 6 commits into
Chi Lo (chilo-ms) wants to merge 6 commits into
Conversation
Chi Lo (chilo-ms)
force-pushed
the
chilo/level2-workspace-verification
branch
from
August 20, 2026 17:47
d05286b to
1948ce2
Compare
Add an opt-in sequential static-workspace pilot that reuses one aligned buffer per device and routes MatMulNBits slot zero through it with dynamic fallback. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Use the cached fpA/intB tactic for fixed small-M shapes, while retaining conservative workspace declarations for cache misses and CUTLASS GEMM. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Compare scratch and planned MatMulNBits execution with a controlled BFCArena strategy and verify that workspace overlap reduces second-run CUDA allocation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: cdd38fe6-fcf3-45c2-acea-b8e6206a7839
Chi Lo (chilo-ms)
force-pushed
the
chilo/static-workspace-preallocation
branch
from
August 20, 2026 19:38
33bca06 to
f4e45cb
Compare
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.
PR stack
This is the final PR. Please review it relative to
chilo/level2-workspace-verification; it contains six stack-specific commits.Summary
OrtValuePatternPlannercan pack workspace with non-overlapping activations;OpKernelContext;MatMulNBitsslot 0 through the planned pointer while retainingGetScratchBuffer()when no usable plan exists;OrtValueindices.Runtime flow
backing_buffer + workspace_offsetfrom the execution frame.Tests
MemPatternPlannerTest.WorkspaceSharesNonOverlappingActivationBlockverifies activation/workspace offset reuse.MatMulNBitsWorkspace.SequentialChainUsesSharedPlannedWorkspaceverifies three distinct synthetic entries, first-run dynamic fallback, cached-run planned workspace, activation overlap, workspace reuse, and output parity.MatMulNBitsWorkspace.PlannedWorkspaceReducesCudaArenaAllocationverifies that overlapping workspace with dead activation memory reduces second-run BFCArena CUDA allocation.Validation
CUDA E2E execution requires CUDA CI or a compatible CUDA developer build. Regenerating the local Windows CUDA test configuration is currently blocked by the known
onnxruntime_providers_cuda_ut/onnxruntime_provider_testmodule dependency cycle.Current scope
MatMulNBitspilot;Tracking: #29775
Design document: https://github.com/microsoft/onnxruntime/blob/chilo/workspace-estimation-preallocation-design/docs/annotated_partitioning/workspace_estimation_and_preallocation.md