# VK_NV_cooperative_matrix2(3) Manual Page

## Name

VK_NV_cooperative_matrix2 - device extension

Loading… please wait.

## Registered Extension Number

594

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_cooperative_matrix

## SPIR-V Dependencies

- SPV_NV_cooperative_matrix2

- SPV_NV_tensor_addressing

## Contact

- Jeff Bolz [GitHub]jeffbolznv

## Extension Proposal

VK_NV_cooperative_matrix2

## Other Extension Metadata

Last Modified Date

  2024-08-01

Interactions and External Dependencies

  - This extension provides API support for `GLSL_NV_cooperative_matrix2`

Contributors

  - Jeff Bolz, NVIDIA

  - Karthik Vaidyanathan, NVIDIA

## Description

This extension adds several new features building on the cooperative matrix types added in VK_KHR_cooperative_matrix. The goal is to add and accelerate features beyond just simple GEMM kernels, including adding support for type/use conversions, reductions, per-element operations, and tensor addressing, and also to improve usability and out-of-the-box performance by adding support for more flexible matrix sizes, and workgroup scope matrices with compiler-managed staging through shared memory.

The new functionality is defined by the `SPV_NV_tensor_addressing` and `SPV_NV_cooperative_matrix2` SPIR-V extensions and can be used with the `GLSL_NV_cooperative_matrix2` GLSL extension.

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

## New Commands

- vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV

## New Structures

- VkCooperativeMatrixFlexibleDimensionsPropertiesNV

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceCooperativeMatrix2FeaturesNV

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceCooperativeMatrix2PropertiesNV

## New Enum Constants

- `VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME`

- `VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV`

## New SPIR-V Capabilities

- TensorAddressingNV

- CooperativeMatrixReductionsNV

- CooperativeMatrixConversionsNV

- CooperativeMatrixPerElementOperationsNV

- CooperativeMatrixTensorAddressingNV

- CooperativeMatrixBlockLoadsNV

## Issues

## Version History

- Revision 1, 2024-08-01 (Jeff Bolz)

  - 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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0