Intel Vulkan Driver Enables Cooperative Matrix Support For Xe2 GPUs
([Intel] 6 Hours Ago
VK_KHR_cooperative_matrix)
- Reference: 0001473428
- News link: https://www.phoronix.com/news/Intel-Xe2-Coop-Matrix-Enable
- Source link:
Intel's open-source Linux graphics driver developers continue to be quite busy in preparing for the [1]Xe2 next-generation graphics to be found with forthcoming Lunar Lake processors and the Battlemage discrete graphics cards.
Ian Romanick's work on enabling cooperative matrix support for Xe2 platforms was merged on Tuesday to Mesa 24.2-devel. This code is far enough along that the Vulkan VK_KHR_cooperative_matrix extension has been merged but the actual plumbing bits of cooperatix matrix support. This week's merge adds the cooperative matrix configurations for Lunar Lake while any Battlemage configuration changes still need to be merged separately.
VK_KHR_cooperative_matrix debuted last year in [2]Vulkan 1.3.255 for cooperative matrix types with SPIR-V integration after NVIDIA previously maintained their own vendor-specific cooperative matrix support. The Vulkan cooperative matrix support is important for helping accelerate machine learning. As explained in the [3]Vulkan spec :
"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."
More details on the Intel Xe2 Vulkan cooperative matrix support via [4]this merge that is now in Mesa 24.2 Git.
[1] https://www.phoronix.com/search/Xe2
[2] https://www.phoronix.com/news/Vulkan-1.3.255
[3] https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_cooperative_matrix.html
[4] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28834
Ian Romanick's work on enabling cooperative matrix support for Xe2 platforms was merged on Tuesday to Mesa 24.2-devel. This code is far enough along that the Vulkan VK_KHR_cooperative_matrix extension has been merged but the actual plumbing bits of cooperatix matrix support. This week's merge adds the cooperative matrix configurations for Lunar Lake while any Battlemage configuration changes still need to be merged separately.
VK_KHR_cooperative_matrix debuted last year in [2]Vulkan 1.3.255 for cooperative matrix types with SPIR-V integration after NVIDIA previously maintained their own vendor-specific cooperative matrix support. The Vulkan cooperative matrix support is important for helping accelerate machine learning. As explained in the [3]Vulkan spec :
"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."
More details on the Intel Xe2 Vulkan cooperative matrix support via [4]this merge that is now in Mesa 24.2 Git.
[1] https://www.phoronix.com/search/Xe2
[2] https://www.phoronix.com/news/Vulkan-1.3.255
[3] https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_cooperative_matrix.html
[4] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28834
phoronix