Skip to content

Storage class for cooperative matrix. #34

Description

@tvvikram

The cooperative matrix spec states the following:
a. Under overview, we have: "cooperative matrix" types, where the storage for and computations performed on the matrix are spread across a set of invocations such as a subgroup.
b. Under validation rules, we have: Cooperative matrix types (or types containing them) can only be allocated in Function or Private storage classes.

It is a bit confusing as the Function / Private storage classes are not spread across a set of invocations.

A request for clarifying this was raised in https://gitlab.khronos.org/spirv/SPIR-V/-/issues/824 and it was suggested there that this can be a topic for SPIRV-Guide.

Clarification: The idea here is coopMat types in the program are referred to be in Function / Private storage whereas the underlying type that supports coopMat type can be in a storage other than Function / Private like Workgroup storage class. It also depends on multiple mental models that work out for coopMats.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions