Skip to content

Commit 30f4740

Browse files
[CoopVec] Add pixel shader and multi-layer support to Mul and OuterProduct tests (#7437)
This change adds preliminary pixel shader support by wrapping the existing test code in a function, which is called by both compute and pixel shaders. The same test patterns are used for both, mapping threads to input/bias vectors and output buffer offsets. For pixel shaders, an atomic counter is used to implement a poor man's mapping of pixel shader threads to a range of thread IDs. Multi-layer support is also added, currently limited to two layers. A square matrix is always used for the first layer in a multi-layer config for ease-of-implementation. The input patterns are now slightly more interesting by generating random input with a generator seeded to a constant value. The range of values is limited to try to lower error that accumulates between the CoopVec GPU implementation and the CPU reference implementation.
1 parent 588165d commit 30f4740

3 files changed

Lines changed: 1449 additions & 749 deletions

File tree

0 commit comments

Comments
 (0)