Skip to content

Commit 4412bb3

Browse files
authored
[0035] LinAlg: Remove Stride and Layout params from Thread scoped InterlockedAccumulate (#849)
The thread-scope overload wasn't supposed to have Stride and Layout, since the Layout must be OuterProductOptimal for thread scope. This change removes these two parameters from the version of the function in Appendix 1: HLSL Header. Fixes #850
1 parent 40ede0e commit 4412bb3

1 file changed

Lines changed: 3 additions & 5 deletions

File tree

proposals/0035-linalg-matrix.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,7 @@ class Matrix<ComponentTy, M, N, Use, MatrixScope::Thread> {
199199
template <MatrixUseEnum UseLocal = Use>
200200
typename hlsl::enable_if<Use == MatrixUse::Accumulator && UseLocal == Use,
201201
void>::type
202-
InterlockedAccumulate(RWByteAddressBuffer Res, uint StartOffset, uint Stride,
203-
MatrixLayoutEnum Layout,
202+
InterlockedAccumulate(RWByteAddressBuffer Res, uint StartOffset,
204203
uint Align = sizeof(ElementType));
205204
};
206205

@@ -2069,8 +2068,7 @@ class Matrix<ComponentTy, M, N, Use, MatrixScope::Thread> {
20692068
template <MatrixUseEnum UseLocal = Use>
20702069
typename hlsl::enable_if<Use == MatrixUse::Accumulator && UseLocal == Use,
20712070
void>::type
2072-
InterlockedAccumulate(RWByteAddressBuffer Res, uint StartOffset, uint Stride,
2073-
MatrixLayoutEnum Layout,
2071+
InterlockedAccumulate(RWByteAddressBuffer Res, uint StartOffset,
20742072
uint Align = sizeof(ElementType));
20752073
};
20762074

@@ -2234,6 +2232,6 @@ void OuterProdAccum() {
22342232
vector<float16_t, 8> VecB = (vector<float16_t, 8>)0;
22352233
MatrixAccumTy MatAcc = OuterProduct<ComponentType::F16>(VecA, VecB);
22362234

2237-
MatAcc.InterlockedAccumulate(Buf, 0, 0, MatrixLayout::OuterProductOptimal);
2235+
MatAcc.InterlockedAccumulate(Buf, 0);
22382236
}
22392237
```

0 commit comments

Comments
 (0)