From 2580bb02f7a079ab1c0106b5960a21ed1627bca0 Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Thu, 15 May 2025 03:47:43 +0000 Subject: 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::Transpose CoopMat::ReduceRow CoopMat::ReduceColumn CoopMat::ReduceRowAndColumn CoopMat::Reduce2x2 --- tests/cooperative-matrix/parameter.slang | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'tests/cooperative-matrix/parameter.slang') diff --git a/tests/cooperative-matrix/parameter.slang b/tests/cooperative-matrix/parameter.slang index 8a4bb3315..eb6823aa1 100644 --- a/tests/cooperative-matrix/parameter.slang +++ b/tests/cooperative-matrix/parameter.slang @@ -12,7 +12,9 @@ StructuredBuffer inputBuffer; //TEST_INPUT:ubuffer(stride=4, count=256):out,name=outputBuffer RWStructuredBuffer outputBuffer; -typealias CoopMatType = CoopMat; +using namespace linalg; + +typealias CoopMatType = CoopMat; static let stride = 16; //static let matrixLayout = CoopMatMatrixLayout::RowMajor; @@ -21,12 +23,12 @@ static const CoopMatMatrixLayout matrixLayout = CoopMatMatrixLayout::RowMajor; void processCoopMat(CoopMatType mat) { // XXX: hmmm, some error when matrixLAyout is static let - (mat * 3.0).store(outputBuffer, 0, stride, matrixLayout); + (mat * 3.0).Store(outputBuffer, 0, stride); } [numthreads(32, 1, 1)] void computeMain() { - let mat = CoopMatType.load(inputBuffer, 0, stride, matrixLayout); + let mat = CoopMatType.Load(inputBuffer, 0, stride); processCoopMat(mat); } -- cgit v1.2.3