Skip to content

Update D3D LinAlg matrix construction caps query shape - #9010

Merged
Jesse Natalie (jenatali) merged 3 commits into
microsoft:mainfrom
jenatali:linalg-api-layout
Oct 7, 2026
Merged

Jesse Natalie (jenatali) merged 3 commits into
microsoft:mainfrom
jenatali:linalg-api-layout

Conversation

@jenatali

Copy link
Copy Markdown
Member

Implement the changes in microsoft/DirectX-Specs#257

Copilot AI balanced review requested due to automatic review settings October 6, 2026 20:42

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Thread-group paths query incorrect scope or “any” wave size, potentially running unsupported configurations.

Review effort: Balanced
Findings: 2 Medium severity

Open (2)
What changed in this PR

Updates LinAlg execution tests to match the revised D3D12 matrix-construction capability API.

Changes:

  • Adds matrix use, scope, thread-group size, and M×N construction shapes.
  • Updates capability query marshalling and logging.
  • Queries construction support per matrix role.
File Description
LinAlgTests.cpp Updates capability gating and matrix-role queries.
HlslExecTestUtils.h Mirrors the revised runtime ABI.
HlslExecTestUtils.cpp Marshals and logs the new query fields.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tools/clang/unittests/HLSLExec/LinAlgTests.cpp Outdated
Comment thread tools/clang/unittests/HLSLExec/LinAlgTests.cpp
Copilot AI balanced review requested due to automatic review settings October 6, 2026 21:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The hardware-specific runtime ABI changes require final validation against the preview host API and supported devices.

Review effort: Balanced
Findings: None

Resolved since last review (2)
Previously missed (2)

In code that hasn't changed since last review

Low severity Update comment to describe exact construction query semantics

tools/​clang/​unittests/​HLSLExec/​HlslExecTestUtils.h:518

The comment above this struct still says the runtime applies the “positive multiple of a native tile” rule. The v0.10 specification removes that guarantee and defines support for the exact component type/use/scope/group-size/shape tuple, so this wording can lead callers to assume unsupported closure under tile multiples. Please update it to describe the exact construction query instead.

Low severity Clarify role-dependent construction support and fixed query shape

tools/​clang/​unittests/​HLSLExec/​LinAlgTests.cpp:312

The Uses explanation above this loop still says each role pins different extents of one {M,K,N} shape. The new API sends the same exact Params.M × Params.N shape for each iteration and varies Use; the reason all roles must pass is now role-dependent construction support. Please update that explanation (and the similar MatAccum wording) so it matches the new query semantics.

Copilot AI balanced review requested due to automatic review settings October 6, 2026 23:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The changes consistently implement the merged specification’s revised matrix-construction query contract.

Review effort: Balanced
Findings: None

@jenatali
Jesse Natalie (jenatali) enabled auto-merge (squash) October 6, 2026 23:20
@jenatali
Jesse Natalie (jenatali) merged commit 24e3fdd into microsoft:main Oct 7, 2026
12 checks passed
@jenatali
Jesse Natalie (jenatali) deleted the linalg-api-layout branch October 7, 2026 01:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants