VkCooperativeVectorPropertiesNV
Each VkCooperativeVectorPropertiesNV structure describes a single
supported combination of types for a matrix-vector multiply (or
multiply-add) operation (OpCooperativeVectorMatrixMulNV or
OpCooperativeVectorMatrixMulAddNV).
The VkCooperativeVectorPropertiesNV structure is defined as:
typedef struct VkCooperativeVectorPropertiesNV {
VkStructureType sType;
void* pNext;
VkComponentTypeKHR inputType;
VkComponentTypeKHR inputInterpretation;
VkComponentTypeKHR matrixInterpretation;
VkComponentTypeKHR biasInterpretation;
VkComponentTypeKHR resultType;
VkBool32 transpose;
} VkCooperativeVectorPropertiesNV;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.inputTypeis the component type of vectorInput, of type VkComponentTypeKHR.inputInterpretationis the value ofInputInterpretation, of type VkComponentTypeKHR.matrixInterpretationis the value ofMatrixInterpretation, of type VkComponentTypeKHR.biasInterpretationis the value ofBiasInterpretation, of type VkComponentTypeKHR.resultTypeis the component type ofResultType, of type VkComponentTypeKHR.transposeis a boolean indicating whether opaque layout matrices with this combination of input and output types supports transposition.
VK_COMPONENT_TYPE_SINT8_PACKED_NV and
VK_COMPONENT_TYPE_UINT8_PACKED_NV must not be used for members other
than inputInterpretation.
The following combinations must be supported (each row is a required combination):
| inputType | inputInterpretation | matrixInterpretation | biasInterpretation | resultType |
|---|---|---|---|---|
FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 | FLOAT16 |
UINT32 | SINT8_PACKED | SINT8 | SINT32 | SINT32 |
SINT8 | SINT8 | SINT8 | SINT32 | SINT32 |
FLOAT32 | SINT8 | SINT8 | SINT32 | SINT32 |
FLOAT16 | FLOAT_E4M3 | FLOAT_E4M3 | FLOAT16 | FLOAT16 |
FLOAT16 | FLOAT_E5M2 | FLOAT_E5M2 | FLOAT16 | FLOAT16 |
Valid Usage (Implicit)
VUID-VkCooperativeVectorPropertiesNV-sType-sType
sType must be VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV
VUID-VkCooperativeVectorPropertiesNV-pNext-pNext
pNext must be NULL
VUID-VkCooperativeVectorPropertiesNV-inputType-parameter
inputType must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-inputInterpretation-parameter
inputInterpretation must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-matrixInterpretation-parameter
matrixInterpretation must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-biasInterpretation-parameter
biasInterpretation must be a valid VkComponentTypeKHR value
VUID-VkCooperativeVectorPropertiesNV-resultType-parameter
resultType must be a valid VkComponentTypeKHR value