This is an archive of the discontinued LLVM Phabricator instance.

[mlir][NVGPU] Verifiers for nvgpu.mma.sync Op
ClosedPublic

Authored by manishucsd on Jul 8 2022, 2:42 PM.

Details

Summary
  • Adds verification for nvgpu.mma.sync op
  • Adds tests to mlir/test/Dialect/NVGPU/invalid.mlir
  • nvgpu.mma.sync verifier caught a bug and triggered a failure in m16n8k4_tf32_f32 variant in mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    • The output shape of vector holding thread-level accumulators was inconsistent and fixed in this change

Diff Detail

Event Timeline

manishucsd created this revision.Jul 8 2022, 2:42 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2022, 2:42 PM
manishucsd requested review of this revision.Jul 8 2022, 2:42 PM
manishucsd updated this revision to Diff 443361.Jul 8 2022, 2:49 PM
ThomasRaoux added inline comments.Jul 11 2022, 3:01 PM
mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
114
119

same here spell those out

128

should be aType == bType
Note that I think this can be enforced in the tablegen file instead which would be better.

147

I don't see i4 nor f64 in the condition

manishucsd edited the summary of this revision. (Show Details)

Addressing review comments.

manishucsd edited the summary of this revision. (Show Details)Jul 12 2022, 1:02 PM
manishucsd marked 3 inline comments as done.Jul 12 2022, 1:05 PM
manishucsd added inline comments.
mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
114

Thanks for the review comments and sharing the link. I have made the appropriate changes.

147

Thanks for catching this. I added i4.

manishucsd marked 2 inline comments as done.
This revision is now accepted and ready to land.Jul 12 2022, 3:14 PM
manishucsd edited the summary of this revision. (Show Details)Jul 12 2022, 3:55 PM
This revision was automatically updated to reflect the committed changes.