coopVecMatMul
Description
Multiply a cooperative vector with a matrix.
Signature
/// Requires Capability Set 1: CoopVec<T, M> coopVecMatMul<T, M:int, K:int, U>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, RWByteAddressBuffer matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where T : __BuiltinArithmeticType where U : __BuiltinArithmeticType; /// Requires Capability Set 1: CoopVec<T, M> coopVecMatMul<T, M:int, K:int, U>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, ByteAddressBuffer matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where T : __BuiltinArithmeticType where U : __BuiltinArithmeticType; /// Requires Capability Set 2: CoopVec<T, M> coopVecMatMul<T, M:int, K:int, U, IgnoredBufferElementType>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout> matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where T : __BuiltinArithmeticType where U : __BuiltinArithmeticType; /// Requires Capability Set 2: CoopVec<T, M> coopVecMatMul<T, M:int, K:int, U, IgnoredBufferElementType>( CoopVec<U, K> input, CoopVecComponentType inputInterpretation, StructuredBuffer<IgnoredBufferElementType, DefaultDataLayout> matrix, int matrixOffset, CoopVecComponentType matrixInterpretation, CoopVecMatrixLayout memoryLayout, bool transpose, uint matrixStride) where T : __BuiltinArithmeticType where U : __BuiltinArithmeticType;
Generic Parameters
T: __BuiltinArithmeticType
M : int
K : int
U: __BuiltinArithmeticType
IgnoredBufferElementType
Parameters
input : CoopVec<U, K>
The input cooperative vector to multiply with the matrix.
inputInterpretation : CoopVecComponentType
Specifies how to interpret the values in the input vector (e.g. as 8-bit integers, 16-bit floats, etc).
matrix : RWByteAddressBuffer
The matrix to multiply with the input vector.
matrixOffset : int
Byte offset into the matrix buffer.
matrixInterpretation : CoopVecComponentType
Specifies how to interpret the values in the matrix (e.g. as 8-bit integers, 16-bit floats, etc).
memoryLayout : CoopVecMatrixLayout
Specifies the memory layout of the matrix (row-major or column-major).
transpose : bool
Whether to transpose the matrix before multiplication.
matrixStride : uint
The stride in bytes between rows/columns of the matrix.
matrix : ByteAddressBuffer
The matrix to multiply with the input vector.
matrix : RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout>
The matrix to multiply with the input vector.
matrix : StructuredBuffer<IgnoredBufferElementType, DefaultDataLayout>
The matrix to multiply with the input vector.
Return value
A new cooperative vector containing the result of the matrix multiplication.
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: spvCooperativeVectorNV
.