CoopVec<T, N:int>.matMulAddAccum
Description
Performs matrix multiplication and accumulation with bias: this += input * matrix + bias
Signature
void CoopVec<T, N:int>.matMulAddAccum<U, K:int>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, RWByteAddressBuffer matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, RWByteAddressBuffer bias, int biasOffset, CoopVecComponentType biasInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where U : __BuiltinArithmeticType where T : __BuiltinArithmeticType; void CoopVec<T, N:int>.matMulAddAccum<U, K:int>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, ByteAddressBuffer matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, ByteAddressBuffer bias, int biasOffset, CoopVecComponentType biasInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where U : __BuiltinArithmeticType where T : __BuiltinArithmeticType;
Generic Parameters
U: __BuiltinArithmeticType
K : int
Parameters
input : CoopVec<U, K>
The input vector to multiply with the matrix
inputInterpretation : CoopVecComponentType
How to interpret the input vector elements (must not be packed)
matrix : RWByteAddressBuffer
The matrix buffer to multiply with
matrixOffset : int
Byte offset into the matrix buffer
matrixInterpretation : CoopVecComponentType
How to interpret the matrix elements
bias : RWByteAddressBuffer
The bias buffer to add
biasOffset : int
Byte offset into the bias buffer
biasInterpretation : CoopVecComponentType
How to interpret the bias elements
memoryLayout : CoopVecMatrixLayout
Memory layout of the matrix (row or column major)
transpose : bool
Whether to transpose the matrix before multiplication
matrixStride : uint
Stride between matrix rows/columns in bytes
matrix : ByteAddressBuffer
The matrix buffer to multiply with
bias : ByteAddressBuffer
The bias buffer to add