1// Copyright (c) 2021-2023 The Khronos Group, Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_KHR_cooperative_matrix.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2023-05-03
11*Interactions and External Dependencies*::
12  - This extension requires
13    {spirv}/KHR/SPV_KHR_cooperative_matrix.html[`SPV_KHR_cooperative_matrix`]
14  - This extension provides API support for
15    {GLSLregistry}/khr/GLSL_KHR_cooperative_matrix.txt[`GLSL_KHR_cooperative_matrix`]
16*Contributors*::
17  - Jeff Bolz, NVIDIA
18  - Markus Tavenrath, NVIDIA
19  - Daniel Koch, NVIDIA
20  - Kevin Petit, Arm Ltd.
21  - Boris Zanin, AMD
22
23=== Description
24
25This extension adds support for using cooperative matrix types in SPIR-V.
26Cooperative matrix types are medium-sized matrices that are primarily
27supported in compute shaders, where the storage for the matrix is spread
28across all invocations in some scope (usually a subgroup) and those
29invocations cooperate to efficiently perform matrix multiplies.
30
31Cooperative matrix types are defined by the
32{spirv}/KHR/SPV_KHR_cooperative_matrix.html[`SPV_KHR_cooperative_matrix`]
33SPIR-V extension and can be used with the
34{GLSLregistry}/khr/GLSL_KHR_cooperative_matrix.txt[`GLSL_KHR_cooperative_matrix`]
35GLSL extension.
36
37This extension includes support for enumerating the matrix types and
38dimensions that are supported by the implementation.
39
40include::{generated}/interfaces/VK_KHR_cooperative_matrix.adoc[]
41
42=== New SPIR-V Capabilities
43
44  * <<spirvenv-capabilities-table-CooperativeMatrixKHR,CooperativeMatrixKHR>>
45
46=== Issues
47
48=== Version History
49
50  * Revision 2, 2023-05-03 (Kevin Petit)
51  ** First KHR revision
52  * Revision 1, 2019-02-05 (Jeff Bolz)
53  ** NVIDIA vendor extension
54