CoopVec<T, int N>.matMulAccum

Description

Accumulate the result from a matrix multiplication between an input Cooperative vector and a matrix.

Signature

void CoopVec<T, int N>.matMulAccum<U, int K>(
    CoopVec<U, K> input,
    CoopVecComponentType inputInterpretation,
    RWByteAddressBuffer matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where U : __BuiltinArithmeticType
    where T : __BuiltinArithmeticType;

void CoopVec<T, int N>.matMulAccum<U, int K>(
    CoopVec<U, K> input,
    CoopVecComponentType inputInterpretation,
    ByteAddressBuffer matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    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 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.

Availability and Requirements

Defined for the following targets:

hlsl

Available in all stages.

glsl

Available in all stages.

cpp

Available in all stages.

cuda

Available in all stages.

Requires capability: optix_coopvec.

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.