C Specification
The VkPhysicalDeviceCooperativeMatrix2FeaturesNV structure is defined
as:
// Provided by VK_NV_cooperative_matrix2
typedef struct VkPhysicalDeviceCooperativeMatrix2FeaturesNV {
VkStructureType sType;
void* pNext;
VkBool32 cooperativeMatrixWorkgroupScope;
VkBool32 cooperativeMatrixFlexibleDimensions;
VkBool32 cooperativeMatrixReductions;
VkBool32 cooperativeMatrixConversions;
VkBool32 cooperativeMatrixPerElementOperations;
VkBool32 cooperativeMatrixTensorAddressing;
VkBool32 cooperativeMatrixBlockLoads;
} VkPhysicalDeviceCooperativeMatrix2FeaturesNV;
Members
This structure describes the following features:
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
cooperativeMatrixWorkgroupScopeindicates that the implementation supports workgroup scope cooperative matrices. -
cooperativeMatrixFlexibleDimensionsindicates that the implementation supports cooperative matrix sizes that are a multiple of the granularity advertised in VkCooperativeMatrixFlexibleDimensionsPropertiesNV. -
cooperativeMatrixReductionsindicates that the implementation supports theCooperativeMatrixReductionsNVSPIR-V capability. This allows performing (row, column, 2x2, or all element) reductions on matrices. -
cooperativeMatrixConversionsindicates that the implementation supports theCooperativeMatrixConversionsNVSPIR-V capability. This allows converting accumulator matrices to A or B matrices. -
cooperativeMatrixPerElementOperationsindicates that the implementation supports theCooperativeMatrixPerElementOperationsNVSPIR-V capability. This allows performing element-wise operations on matrix elements using a callback function. -
cooperativeMatrixTensorAddressingindicates that the implementation supports theTensorAddressingNVandCooperativeMatrixTensorAddressingNVSPIR-V capabilities. This allows using tensor layout and tensor view types for matrix loads and stores. -
cooperativeMatrixBlockLoadsindicates that the implementation supports theCooperativeMatrixBlockLoadsNVSPIR-V capability. This allows setting block size for loads and using a callback function to decode block elements.
Description
If the VkPhysicalDeviceCooperativeMatrix2FeaturesNV structure is included in the pNext chain of the
VkPhysicalDeviceFeatures2 structure passed to
vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each
corresponding feature is supported.
If the application wishes to use a VkDevice with any features
described by VkPhysicalDeviceCooperativeMatrix2FeaturesNV, it must add an instance of the structure,
with the desired feature members set to VK_TRUE, to the pNext
chain of VkDeviceCreateInfo when creating the VkDevice.
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.