// Copyright (c) 2021-2023 The Khronos Group, Inc. // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_KHR_cooperative_matrix.adoc[] === Other Extension Metadata *Last Modified Date*:: 2023-05-03 *Interactions and External Dependencies*:: - This extension requires {spirv}/KHR/SPV_KHR_cooperative_matrix.html[`SPV_KHR_cooperative_matrix`] - This extension provides API support for {GLSLregistry}/khr/GLSL_KHR_cooperative_matrix.txt[`GLSL_KHR_cooperative_matrix`] *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 {spirv}/KHR/SPV_KHR_cooperative_matrix.html[`SPV_KHR_cooperative_matrix`] SPIR-V extension and can be used with the {GLSLregistry}/khr/GLSL_KHR_cooperative_matrix.txt[`GLSL_KHR_cooperative_matrix`] GLSL extension. This extension includes support for enumerating the matrix types and dimensions that are supported by the implementation. include::{generated}/interfaces/VK_KHR_cooperative_matrix.adoc[] === 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