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
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
inputType
is the component type of vectorInput
, of type VkComponentTypeKHR. -
inputInterpretation
is the value ofInputInterpretation
, of type VkComponentTypeKHR. -
matrixInterpretation
is the value ofMatrixInterpretation
, of type VkComponentTypeKHR. -
biasInterpretation
is the value ofBiasInterpretation
, of type VkComponentTypeKHR. -
resultType
is the component type ofResult
Type
, of type VkComponentTypeKHR. -
transpose
is 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.