coopVecMatMulAddPacked

Description

Signature

/// Requires Capability Set 1:
CoopVec<T, M> coopVecMatMulAddPacked<T, int M, int PackedK, U>(
    CoopVec<U, PackedK> input,
    CoopVecComponentType inputInterpretation,
    int k,
    RWByteAddressBuffer matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    RWByteAddressBuffer bias,
    int biasOffset,
    CoopVecComponentType biasInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where T : __BuiltinArithmeticType
    where U : __BuiltinArithmeticType;

/// Requires Capability Set 1:
CoopVec<T, M> coopVecMatMulAddPacked<T, int M, int PackedK, U>(
    CoopVec<U, PackedK> input,
    CoopVecComponentType inputInterpretation,
    int k,
    ByteAddressBuffer matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    ByteAddressBuffer bias,
    int biasOffset,
    CoopVecComponentType biasInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where T : __BuiltinArithmeticType
    where U : __BuiltinArithmeticType;

/// Requires Capability Set 2:
CoopVec<T, M> coopVecMatMulAddPacked<T, int M, int PackedK, U, IgnoredBufferElementType, IgnoredBiasBufferElementType>(
    CoopVec<U, PackedK> input,
    CoopVecComponentType inputInterpretation,
    int k,
    RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout> matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    RWStructuredBuffer<IgnoredBiasBufferElementType, DefaultDataLayout> bias,
    int biasOffset,
    CoopVecComponentType biasInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where T : __BuiltinArithmeticType
    where U : __BuiltinArithmeticType;

/// Requires Capability Set 2:
CoopVec<T, M> coopVecMatMulAddPacked<T, int M, int PackedK, U, IgnoredBufferElementType, IgnoredBiasBufferElementType>(
    CoopVec<U, PackedK> input,
    CoopVecComponentType inputInterpretation,
    int k,
    StructuredBuffer<IgnoredBufferElementType, DefaultDataLayout> matrix,
    int matrixOffset,
    CoopVecComponentType matrixInterpretation,
    StructuredBuffer<IgnoredBiasBufferElementType, DefaultDataLayout> bias,
    int biasOffset,
    CoopVecComponentType biasInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where T : __BuiltinArithmeticType
    where U : __BuiltinArithmeticType;

/// Requires Capability Set 3:
CoopVec<T, M> coopVecMatMulAddPacked<T, int M, int PackedK, U>(
    CoopVec<U, PackedK> input,
    CoopVecComponentType inputInterpretation,
    int k,
    Ptr<void, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> matrixPtr,
    CoopVecComponentType matrixInterpretation,
    Ptr<void, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout> biasPtr,
    CoopVecComponentType biasInterpretation,
    CoopVecMatrixLayout memoryLayout,
    bool transpose,
    uint matrixStride)
    where T : __BuiltinArithmeticType
    where U : __BuiltinArithmeticType;

Generic Parameters

T: __BuiltinArithmeticType

M : int

PackedK : int

U: __BuiltinArithmeticType

IgnoredBufferElementType

IgnoredBiasBufferElementType

Parameters

input : CoopVec<U, PackedK>

inputInterpretation : CoopVecComponentType

k : int

matrix : RWByteAddressBuffer

matrixOffset : int

matrixInterpretation : CoopVecComponentType

bias : RWByteAddressBuffer

biasOffset : int

biasInterpretation : CoopVecComponentType

memoryLayout : CoopVecMatrixLayout

transpose : bool

matrixStride : uint

matrix : ByteAddressBuffer

bias : ByteAddressBuffer

matrix : RWStructuredBuffer<IgnoredBufferElementType, DefaultDataLayout>

bias : RWStructuredBuffer<IgnoredBiasBufferElementType, DefaultDataLayout>

matrix : StructuredBuffer<IgnoredBufferElementType, DefaultDataLayout>

bias : StructuredBuffer<IgnoredBiasBufferElementType, DefaultDataLayout>

matrixPtr : Ptr<void, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>

biasPtr : Ptr<void, Access.ReadWrite, AddressSpace.Device, DefaultDataLayout>

Availability and Requirements

Capability Set 1

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.

Capability Set 2

Defined for the following targets:

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.

cuda

Available in all stages.

Requires capability: optix_coopvec.

Capability Set 3

Defined for the following targets:

spirv

Available in all stages.

Requires capability: spvCooperativeVectorNV.