coopVecOuterProductAccumulate
Description
Accumulate the outer product of two cooperative vectors into a matrix.
Signature
/// Requires Capability Set 1: void coopVecOuterProductAccumulate<T, M:int, N:int>( CoopVec<T, M> a, CoopVec<T, N> b, RWByteAddressBuffer matrix, int matrixOffset, uint matrixStride, CoopVecMatrixLayout memoryLayout, CoopVecComponentType matrixInterpretation) where T : __BuiltinArithmeticType; /// Requires Capability Set 2: void coopVecOuterProductAccumulate<T, M:int, N:int, IgnoredBufferElementType>( CoopVec<T, M> a, CoopVec<T, N> b, RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout> matrix, int matrixOffset, uint matrixStride, CoopVecMatrixLayout memoryLayout, CoopVecComponentType matrixInterpretation) where T : __BuiltinArithmeticType; /// Requires Capability Set 2: void coopVecOuterProductAccumulate<T, M:int, N:int, U, IgnoredBufferSize:int>( CoopVec<T, M> a, CoopVec<T, N> b, U[IgnoredBufferSize] matrix, int matrixOffset, uint matrixStride, CoopVecMatrixLayout memoryLayout, CoopVecComponentType matrixInterpretation) where T : __BuiltinArithmeticType where U : __BuiltinArithmeticType;
Generic Parameters
T: __BuiltinArithmeticType
M : int
N : int
IgnoredBufferElementType
U: __BuiltinArithmeticType
IgnoredBufferSize : int
Parameters
a : CoopVec<T, M>
The first cooperative vector.
b : CoopVec<T, N>
The second cooperative vector.
matrix : RWByteAddressBuffer
The matrix buffer to accumulate the result into.
matrixOffset : int
Byte offset into the matrix buffer.
matrixStride : uint
The stride between matrix rows/columns in bytes.
memoryLayout : CoopVecMatrixLayout
Specifies the memory layout of the matrix (row-major or column-major).
matrixInterpretation : CoopVecComponentType
Specifies how to interpret the values in the matrix.
matrix : RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout>
The matrix buffer to accumulate the result into.
matrix : U [ IgnoredBufferSize ]
The matrix buffer to accumulate the result into.
Availability and Requirements
Capability Set 1
Defined for the following targets:
hlsl
Available in all stages.
cpp
Available in all stages.
cuda
Available in all stages.
spirv
Available in all stages.
Requires capability: spvCooperativeVectorNV
.
Capability Set 2
Defined for the following targets:
spirv
Available in all stages.
Requires capability: spvCooperativeVectorTrainingNV
.