// Copyright (c) 2019-2020 NVIDIA Corporation
//
// SPDX-License-Identifier: CC-BY-4.0

include::{generated}/meta/{refprefix}VK_NV_cooperative_matrix.txt[]

=== Other Extension Metadata

*Last Modified Date*::
    2019-02-05
*Interactions and External Dependencies*::
  - This extension requires
    {spirv}/NV/SPV_NV_cooperative_matrix.html[`SPV_NV_cooperative_matrix`]
  - This extension provides API support for
    https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_cooperative_matrix.txt[`GL_NV_cooperative_matrix`]
*Contributors*::
  - Jeff Bolz, NVIDIA
  - Markus Tavenrath, NVIDIA
  - Daniel Koch, NVIDIA

=== 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}/NV/SPV_NV_cooperative_matrix.html[`SPV_NV_cooperative_matrix`]
SPIR-V extension and can be used with the
https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_cooperative_matrix.txt[`GL_NV_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_NV_cooperative_matrix.txt[]

=== New SPIR-V Capabilities

  * <<spirvenv-capabilities-table-CooperativeMatrixNV,CooperativeMatrixNV>>

=== Issues

(1) What matrix properties will be supported in practice?

*RESOLVED*: In NVIDIA's initial implementation, we will support:

    * AType = BType = fp16 CType = DType = fp16 MxNxK = 16x8x16 scope =
      Subgroup
    * AType = BType = fp16 CType = DType = fp16 MxNxK = 16x8x8 scope =
      Subgroup
    * AType = BType = fp16 CType = DType = fp32 MxNxK = 16x8x16 scope =
      Subgroup
    * AType = BType = fp16 CType = DType = fp32 MxNxK = 16x8x8 scope =
      Subgroup

=== Version History

  * Revision 1, 2019-02-05 (Jeff Bolz)
    - Internal revisions
