# VK_KHR_shader_integer_dot_product(3) Manual Page

## Name

VK_KHR_shader_integer_dot_product - device extension

Loading… please wait.

## Registered Extension Number

281

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## SPIR-V Dependencies

- SPV_KHR_integer_dot_product

## Deprecation State

- Promoted to Vulkan 1.3

## Contact

- Kevin Petit [GitHub]kpet

## Extension Proposal

VK_KHR_shader_integer_dot_product

## Other Extension Metadata

Last Modified Date

  2021-06-16

Interactions and External Dependencies

  - This extension interacts with `VK_KHR_shader_float16_int8`.

IP Status

  No known IP claims.

Contributors

  - Kévin Petit, Arm Ltd.

  - Jeff Bolz, NVidia

  - Spencer Fricke, Samsung

  - Jesse Hall, Google

  - John Kessenich, Google

  - Graeme Leese, Broadcom

  - Einar Hov, Arm Ltd.

  - Stuart Brady, Arm Ltd.

  - Pablo Cascon, Arm Ltd.

  - Tobias Hector, AMD

  - Jeff Leger, Qualcomm

  - Ruihao Zhang, Qualcomm

  - Pierre Boudier, NVidia

  - Jon Leech, The Khronos Group

  - Tom Olson, Arm Ltd.

## Description

This extension adds support for the integer dot product SPIR-V instructions defined in SPV_KHR_integer_dot_product. These instructions are particularly useful for neural network inference and training but find uses in other general-purpose compute applications as well.

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR

## New Enum Constants

- `VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME`

- `VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR`

## Promotion to Vulkan 1.3

Vulkan APIs in this extension are included in core Vulkan 1.3, with the KHR suffix omitted. External interactions defined by this extension, such as SPIR-V token names, retain their original names. The original Vulkan API names are still available as aliases of the core functionality.

## New SPIR-V Capabilities

- `DotProductInputAllKHR`

- `DotProductInput4x8BitKHR`

- `DotProductInput4x8BitPackedKHR`

- `DotProductKHR`

## Version History

- Revision 1, 2021-06-16 (Kévin Petit)

  - Initial revision

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0