Skip to content

[HLSL] Add larger-shape LinAlg arithmetic and transfer coverage - #8939

Open
Jack Elliott (JoeCitizen) wants to merge 1 commit into
microsoft:mainfrom
JoeCitizen:linalg-hlk-supported-shape-companions
Open

Jack Elliott (JoeCitizen) wants to merge 1 commit into
microsoft:mainfrom
JoeCitizen:linalg-hlk-supported-shape-companions

Conversation

@JoeCitizen

@JoeCitizen Jack Elliott (JoeCitizen) commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator

Adds six larger-shape companions without removing the smaller fixtures or changing capability policy:

  • MatMatMulAccumMemory_Wave_16x32x16_I8_ToI32_OffsetPadded
  • MatMatMul_Wave_16x32x16_F16_NonUniform
  • MatMatMul_Wave_16x32x16_F16_ToF32
  • MatMatMulAccum_Wave_16x32x16_F16_ToF32_NonUniform
  • MatAccum_Wave_16x32_F16_BUse_NonUniform
  • LoadStoreMemory_ThreadGroup_WaveScaled_F16

Refs #7841

Assisted-by: GitHub Copilot

Add six capability-gated companions while retaining the smaller fixtures:
- 16x32x16 signed-I8 groupshared MMA with an I32 accumulator.
- 16x32x16 non-uniform FP16 multiply to FP16 and FP32.
- 16x32x16 FP16-to-FP32 MMA with independent non-zero accumulation.
- 16x32 FP16 accumulation from a B-use matrix.
- Rectangular, wave-scaled FP16 ThreadGroup groupshared transfer.

Reuse the existing fixtures and independent CPU oracles. The ThreadGroup
transfer uses two waves and checks its full padded groupshared footprint,
requesting an extended shader limit only when the device supports it.

Refs microsoft#7841

Assisted-by: GitHub Copilot
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 333cb159-4a7f-458d-92d5-ac330c55edee
@JoeCitizen
Jack Elliott (JoeCitizen) marked this pull request as ready for review September 21, 2026 22:47
Copilot AI balanced review requested due to automatic review settings September 21, 2026 22:47

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 test-only changes are capability-gated, preserve existing fixtures, and correctly exercise asymmetric larger shapes.

Review effort: Balanced
Findings: None

What changed in this PR

Expands HLSL linear-algebra execution coverage with larger matrix shapes while preserving capability gating.

Changes:

  • Adds larger 16-row arithmetic and memory test variants.
  • Adds wave-scaled thread-group transfer coverage, including extended groupshared limits.
  • Refactors shared test setup to parameterize matrix dimensions.
File Description
tools/​clang/​unittests/​HLSLExec/​LinAlgTests.cpp Adds and parameterizes larger-shape LinAlg execution tests.

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants