This is an archive of the discontinued LLVM Phabricator instance.

[mlir][spirv] Add cooperative matrix load op
ClosedPublic

Authored by kuhar on Jul 18 2023, 9:05 AM.

Details

Summary

Implement cooperative matrix load for the SPV_KHR_cooperative_matrix
extension: https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_cooperative_matrix.html.

Also some minor fixes in common code for custom parsing.

Diff Detail

Event Timeline

kuhar created this revision.Jul 18 2023, 9:05 AM
Herald added a project: Restricted Project. · View Herald Transcript
kuhar requested review of this revision.Jul 18 2023, 9:05 AM
kuhar added inline comments.Jul 18 2023, 10:40 AM
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
127

FYI: This is an optional argument in the extension spec, but I didn't mark it as such to keep things simple for now -- I wanted to avoid having to disambiguate between the stride and the matrix layout.

antiagainst accepted this revision.Jul 18 2023, 10:41 PM
This revision is now accepted and ready to land.Jul 18 2023, 10:41 PM
kuhar added inline comments.Jul 18 2023, 10:42 PM
mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCooperativeMatrixOps.td
127

I filed an issue against the spec asking for a clarification on this: https://github.com/KhronosGroup/SPIRV-Registry/issues/211

This revision was automatically updated to reflect the committed changes.