VK_KHR_cooperative_matrix

Other Extension Metadata

Last Modified Date

2023-05-03

Interactions and External Dependencies
Contributors
  • Jeff Bolz, NVIDIA
  • Markus Tavenrath, NVIDIA
  • Daniel Koch, NVIDIA
  • Kevin Petit, Arm Ltd.
  • Boris Zanin, AMD

Description

This extension adds support for using cooperative matrix types in SPIR-V. Cooperative matrix types are medium-sized matrices that are primarily supported in compute shaders, where the storage for the matrix is spread across all invocations in some scope (usually a subgroup) and those invocations cooperate to efficiently perform matrix multiplies.

Cooperative matrix types are defined by the SPV_KHR_cooperative_matrix SPIR-V extension and can be used with the GLSL_KHR_cooperative_matrix GLSL extension.

This extension includes support for enumerating the matrix types and dimensions that are supported by the implementation.

New Commands

New Structures

New Enums

New Enum Constants

  • VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME
  • VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION
  • Extending VkStructureType:
    • VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR

New SPIR-V Capabilities

Issues

Version History

  • Revision 2, 2023-05-03 (Kevin Petit)
    • First KHR revision
  • Revision 1, 2019-02-05 (Jeff Bolz)
    • NVIDIA vendor extension