diff options
| author | Jay Kwak <82421531+jkwak-work@users.noreply.github.com> | 2025-05-15 03:47:43 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-14 20:47:43 -0700 |
| commit | 2580bb02f7a079ab1c0106b5960a21ed1627bca0 (patch) | |
| tree | c4fe31e6314f514c9bb079d0fa15ee53adf7396f /tests/cooperative-matrix/load-store-arbitrary-array-vec.slang | |
| parent | b4d3d3017640581c21b52a12413d3f074ab1c5c1 (diff) | |
Add new coopmat2 functions: Reduce and Transpose (#7027)
This commit adds three new functions for CoopMat as described in the proposal document,
Cooperative matrix 2 proposal spec#12
The new functions are:
CoopMat<T,S,M,N,R>::Transpose
CoopMat<T,S,M,N,R>::ReduceRow
CoopMat<T,S,M,N,R>::ReduceColumn
CoopMat<T,S,M,N,R>::ReduceRowAndColumn
CoopMat<T,S,M,N,R>::Reduce2x2
Diffstat (limited to 'tests/cooperative-matrix/load-store-arbitrary-array-vec.slang')
| -rw-r--r-- | tests/cooperative-matrix/load-store-arbitrary-array-vec.slang | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/tests/cooperative-matrix/load-store-arbitrary-array-vec.slang b/tests/cooperative-matrix/load-store-arbitrary-array-vec.slang index 51af16ada..d34494fd8 100644 --- a/tests/cooperative-matrix/load-store-arbitrary-array-vec.slang +++ b/tests/cooperative-matrix/load-store-arbitrary-array-vec.slang @@ -23,7 +23,9 @@ RWByteAddressBuffer input; //TEST_INPUT:ubuffer(stride=4, count=256):out,name=outputBuffer RWStructuredBuffer<uint32_t> outputBuffer; -typealias CoopMatType = CoopMat<uint32_t, CoopMatScope::Subgroup, 16, 16, CoopMatMatrixUse::MatrixAccumulator>; +using namespace linalg; + +typealias CoopMatType = CoopMat<uint32_t, MemoryScope.Subgroup, 16, 16, CoopMatMatrixUse.MatrixAccumulator>; groupshared float3[128] tempShared; @@ -31,11 +33,9 @@ groupshared float3[128] tempShared; void computeMain() { let stride = 16; - let matrixLayout = CoopMatMatrixLayout::RowMajor; - - let mat = coopMatLoad<uint32_t, CoopMatScope::Subgroup, 16, 16, CoopMatMatrixUse::MatrixAccumulator>(input, 0, stride, matrixLayout); - mat.storeAny(tempShared, 0, stride, matrixLayout); + let mat = coopMatLoad<uint32_t, MemoryScope.Subgroup, 16, 16, CoopMatMatrixUse.MatrixAccumulator, CoopMatMatrixLayout.RowMajor>(input, 0, stride); + mat.Store<CoopMatMatrixLayout.RowMajor>(tempShared, 0, stride); - let result = CoopMatType.loadAny(tempShared, 0, stride, matrixLayout); - result.store(outputBuffer, 0, stride, matrixLayout); + let result = CoopMatType.Load<CoopMatMatrixLayout.RowMajor>(tempShared, 0, stride); + result.Store<CoopMatMatrixLayout.RowMajor>(outputBuffer, 0, stride); } |
