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.
Requires capability: hlsl_coopvec_poc.
cpp¶
Available in all stages.
cuda¶
Available in all stages.
Requires capability: optix_coopvec.
spirv¶
Available in all stages.
Requires capability: spvCooperativeVectorNV.
Capability Set 2¶
Defined for the following targets:
spirv¶
Available in all stages.
Requires capability: spvCooperativeVectorTrainingNV.