Vulkan 1.3.300 Delivers New Cooperative Matrix Extension From NVIDIA
Vulkan 1.3.300 debuted on Friday with a handful of fixes and one new extension.
Alongside various minor documentation updates/fixes, Vulkan 1.3.300 introduces the VK_NV_cooperative_matrix2 extension. Introduced back in 2019 was the NVIDIA's VK_NV_cooperative_matrix extension for allowing cooperative matrix types within SPIR-V. With Vulkan 1.3.300 is an updated cooperative matrix implementation based upon NVIDIA's findings over the past five years.
The Vulkan cooperative matrix support has been part of NVIDIA's effort for allowing machine learning acceleration via the Vulkan API. The updated NVIDIA cooperative matrix extension is described as:
Support for VK_NV_cooperative_matrix2 can already be found within the NVIDIA Vulkan driver beta update for Windows and Linux on Friday.
More details on the Vulkan 1.3.300 spec update via this Git commit.
Alongside various minor documentation updates/fixes, Vulkan 1.3.300 introduces the VK_NV_cooperative_matrix2 extension. Introduced back in 2019 was the NVIDIA's VK_NV_cooperative_matrix extension for allowing cooperative matrix types within SPIR-V. With Vulkan 1.3.300 is an updated cooperative matrix implementation based upon NVIDIA's findings over the past five years.
The Vulkan cooperative matrix support has been part of NVIDIA's effort for allowing machine learning acceleration via the Vulkan API. The updated NVIDIA cooperative matrix extension is described as:
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.
Support for VK_NV_cooperative_matrix2 can already be found within the NVIDIA Vulkan driver beta update for Windows and Linux on Friday.
More details on the Vulkan 1.3.300 spec update via this Git commit.
11 Comments