C Specification
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:
// Provided by VK_NV_cooperative_vector
typedef struct VkCooperativeVectorPropertiesNV {
VkStructureType sType;
void* pNext;
VkComponentTypeKHR inputType;
VkComponentTypeKHR inputInterpretation;
VkComponentTypeKHR matrixInterpretation;
VkComponentTypeKHR biasInterpretation;
VkComponentTypeKHR resultType;
VkBool32 transpose;
} VkCooperativeVectorPropertiesNV;
Members
-
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.
Description
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 |
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.