C Specification
The VkPhysicalDeviceTensorPropertiesARM structure is defined as:
// Provided by VK_ARM_tensors
typedef struct VkPhysicalDeviceTensorPropertiesARM {
VkStructureType sType;
void* pNext;
uint32_t maxTensorDimensionCount;
uint64_t maxTensorElements;
uint64_t maxPerDimensionTensorElements;
int64_t maxTensorStride;
uint64_t maxTensorSize;
uint32_t maxTensorShaderAccessArrayLength;
uint32_t maxTensorShaderAccessSize;
uint32_t maxDescriptorSetStorageTensors;
uint32_t maxPerStageDescriptorSetStorageTensors;
uint32_t maxDescriptorSetUpdateAfterBindStorageTensors;
uint32_t maxPerStageDescriptorUpdateAfterBindStorageTensors;
VkBool32 shaderStorageTensorArrayNonUniformIndexingNative;
VkShaderStageFlags shaderTensorSupportedStages;
} VkPhysicalDeviceTensorPropertiesARM;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
maxTensorDimensionCountis the maximum number of dimensions that can be specified in thedimensionCountmember of VkTensorDescriptionARM. -
maxTensorElementsis the maximum number of data elements in a created tensor as specified in the VkTensorDescriptionARM of VkTensorCreateInfoARM. The number of data elements in a tensor is computed as the product ofpDimensions[i] for all 0 ≤ i ≤ dimensionCount-1. -
maxPerDimensionTensorElementsis the maximum number of data elements alongside any dimension of a tensor. -
maxTensorStrideis the maximum value for a tensor stride that can be used in VkTensorDescriptionARM::pStrides. -
maxTensorShaderAccessArrayLengthis the maximum number of elements in an array returned byOpTensoReadARMor consumed byOpTensorWriteARM. -
maxTensorShaderAccessSizeis the maximum size in bytes of the data that can be read from a tensor withOpTensorReadARMor written to a tensor withOpTensorWriteARM. -
maxDescriptorSetStorageTensorsis the maximum number of tensors that can be included in descriptor bindings in a pipeline layout across all pipeline shader stages and descriptor set numbers. Descriptors with a type ofVK_DESCRIPTOR_TYPE_TENSOR_ARMcount against this limit. -
maxPerStageDescriptorSetStorageTensorsis the maximum number of tensors that can be accessible to a single shader stage in a pipeline layout. Descriptors with a type ofVK_DESCRIPTOR_TYPE_TENSOR_ARMcount against this limit. A descriptor is accessible to a pipeline shader stage when thestageFlagsmember of the VkDescriptorSetLayoutBinding structure has the bit for that shader stage set. -
maxDescriptorSetUpdateAfterBindStorageTensorsis similar tomaxDescriptorSetStorageTensorsbut counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. -
maxPerStageDescriptorUpdateAfterBindStorageTensorsis similar tomaxPerStageDescriptorSetStorageTensorsbut counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. -
shaderStorageTensorArrayNonUniformIndexingNativeis a boolean value indicating whether storage tensor descriptors natively support nonuniform indexing. If this isVK_FALSE, then a single dynamic instance of an instruction that nonuniformly indexes an array of storage buffers may execute multiple times in order to access all the descriptors. -
shaderTensorSupportedStagesis a bitfield of VkShaderStageFlagBits describing the shader stages that can access tensor resources.shaderTensorSupportedStageswill have theVK_SHADER_STAGE_COMPUTE_BITbit set if any of the physical device’s queues supportVK_QUEUE_COMPUTE_BIT.
Description
If the VkPhysicalDeviceTensorPropertiesARM structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
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.