Skip to content

User/alsepkow/linear alg exec tests#8225

Draft
alsepkow wants to merge 9 commits intomicrosoft:mainfrom
alsepkow:user/alsepkow/LinearAlgExecTests
Draft

User/alsepkow/linear alg exec tests#8225
alsepkow wants to merge 9 commits intomicrosoft:mainfrom
alsepkow:user/alsepkow/LinearAlgExecTests

Conversation

@alsepkow
Copy link
Contributor

@alsepkow alsepkow commented Mar 4, 2026

WIP. Staging a draft PR to share.

Move shared HLSL test type wrappers out of LongVectorTestData.h into a
common header that both LongVector and LinearAlgebra tests can include.
Also adds HLSLNorm_t, F8E4M3_t, and F8E5M2_t wrappers for full SM 6.10
linalg ComponentType coverage.

LongVectorTestData.h retains backward-compatible using declarations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

✅ With the latest revision this PR passed the C/C++ code formatter.

Adds a test scaffold for linear algebra matrix operations, following the
same architectural patterns as the LongVector tests:
- Op/ExpectedBuilder structs with ValidationConfig
- dispatchTest/runAndVerify separation
- Macro-driven InputSet data tables for all SM 6.10 ComponentTypes
- Multiple matrix dimension coverage (2x2, 4x4, 4x8, 8x4, 8x8)

Initial ops: FillMatrix, MatrixStore, MatrixAccumulate, MatrixMul.
Intended as a framework for the senior developer implementing linalg
functionality in DXC to write execution tests against.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@alsepkow alsepkow force-pushed the user/alsepkow/LinearAlgExecTests branch from e323d34 to 6940b2f Compare March 4, 2026 22:34
github-actions bot and others added 7 commits March 4, 2026 22:38
Move isFloatingPointType, ValidationType, ValidationConfig,
DefaultValidation, StrictValidation, and doValuesMatch overloads
from LongVectors.cpp and LinearAlgebra.cpp into the shared header.
Both files now use 'using' declarations to reference them.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Renamed to better reflect the matrix data being compared. Added M and N
parameters so mismatch errors now log (row,col) coordinates instead of
flat indices, improving debuggability.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix non-portable static_assert(false) to use sizeof(T)==0 idiom
- Replace placeholder TestId GUID with f00df946-9877-4453-8844-b1f4c8977953
- Extend isFloatingPointType to cover SNorm/UNorm/F8 wrapper types
- Rename ValidationConfig member to Validation to avoid type/member shadowing
- Rename local variables in dispatchTest to avoid type shadowing (CurOp, OpConfig)
- Add row-major assumption comment in doMatricesMatch
- Add MATRIX_LAYOUT comment explaining 0=RowMajor, 1=ColMajor
- Add TODO for non-square K dimension test coverage
- Clarify pre-staged input set comments in LinearAlgebraTestData.h
- Fix 'constuctor' typo in HLSLTestDataTypes.h

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
SM 6.10 linalg operations are not yet supported in test automation.
Test runners (lit, hcttest.cmd) only run tests with Priority < 2,
so these tests will be skipped until support is available.
See eede016 for prior art on this pattern.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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