summaryrefslogtreecommitdiff
path: root/tests/cooperative-matrix/array.slang
diff options
context:
space:
mode:
authorJay Kwak <82421531+jkwak-work@users.noreply.github.com>2025-05-15 03:47:43 +0000
committerGitHub <noreply@github.com>2025-05-14 20:47:43 -0700
commit2580bb02f7a079ab1c0106b5960a21ed1627bca0 (patch)
treec4fe31e6314f514c9bb079d0fa15ee53adf7396f /tests/cooperative-matrix/array.slang
parentb4d3d3017640581c21b52a12413d3f074ab1c5c1 (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/array.slang')
-rw-r--r--tests/cooperative-matrix/array.slang12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/cooperative-matrix/array.slang b/tests/cooperative-matrix/array.slang
index ab1f92a99..eb26bacbf 100644
--- a/tests/cooperative-matrix/array.slang
+++ b/tests/cooperative-matrix/array.slang
@@ -19,7 +19,9 @@ ByteAddressBuffer input2;
//TEST_INPUT:ubuffer(stride=4, count=256):out,name=outputBuffer
RWStructuredBuffer<float> outputBuffer;
-typealias CoopMatType = CoopMat<float, CoopMatScope::Subgroup, 16, 16, CoopMatMatrixUse::MatrixAccumulator>;
+using namespace linalg;
+
+typealias CoopMatType = CoopMat<float, MemoryScope.Subgroup, 16, 16, CoopMatMatrixUse::MatrixAccumulator>;
[numthreads(32, 1, 1)]
void computeMain()
@@ -28,9 +30,9 @@ void computeMain()
let matrixLayout = CoopMatMatrixLayout::RowMajor;
CoopMatType coopMatArray[2];
- coopMatArray[0] = CoopMatType.load(input1, 0, stride, matrixLayout);
- coopMatArray[1] = CoopMatType.load(input2, 0, stride, matrixLayout);
+ coopMatArray[0] = CoopMatType.Load<CoopMatMatrixLayout::RowMajor>(input1, 0, stride);
+ coopMatArray[1] = CoopMatType.Load<CoopMatMatrixLayout::RowMajor>(input2, 0, stride);
- coopMatArray[0].store(outputBuffer, 0, stride, matrixLayout);
- coopMatArray[1].store(outputBuffer, 4, stride, matrixLayout);
+ coopMatArray[0].Store<CoopMatMatrixLayout::RowMajor>(outputBuffer, 0, stride);
+ coopMatArray[1].Store<CoopMatMatrixLayout::RowMajor>(outputBuffer, 4, stride);
}