Skip to content

Questions about joint matrix extension #6568

@nirvedhmeshram

Description

@nirvedhmeshram

Hello, I am trying to add support for joint matrix as specified in this doc in MLIR
https://github.com/intel/llvm/blob/c2f8602c843d2ba87dc1c9057f1422f23a77ed66/sycl/doc/design/spirv-extensions/SPV_INTEL_joint_matrix.asciidoc
I did have some questions about the ops

  1. The spec does not mention what storage class the pointer can support, we were thinking of allowing, Workgroup and CrossWorkgroup, is that right and should any other be allowed?

  2. If you look at the cooperativematrix side https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_cooperative_matrix.html

in "3.32.13 Arithmetic Instructions"

there is "Allow cooperative matrix types for the following instructions (if the component type is appropriate): OpSNegate, OpFNegate, OpIAdd, OpFAdd, OpISub, OpFSub, OpFDiv, OpSDiv, and OpUDiv. Allow cooperative matrix types for OpMatrixTimesScalar."
should this true for the joint matrix ops too?

Here is a WIP patch https://reviews.llvm.org/D131586 , if any contributors have feedback

cc @MrSidims @jcranmer-intel (tagging you as I see you guys actively working on this on the open source side)

Metadata

Metadata

Assignees

Labels

SPIR-VIssues related to SPIRV-LLVM-Translatorspec extensionAll issues/PRs related to extensions specifications

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions