[mlir][AMDGPU] Define wrappers for WMMA matrix ops
authorGiuseppe Rossini <giuseppe.rossini@amd.com>
Thu, 20 Jul 2023 18:24:03 +0000 (18:24 +0000)
committerKrzysztof Drewniak <Krzysztof.Drewniak@amd.com>
Thu, 20 Jul 2023 18:38:35 +0000 (18:38 +0000)
commit4b3eaee2701afa2549c9cd0f78692598e9bfd44e
tree1dea42dc3d8c952470a5004435c273a72a3fca63
parentf9bd4597857daab04276178573884962f5c41a5f
[mlir][AMDGPU] Define wrappers for WMMA matrix ops

Wave Matrix Multiply Accumulate (WMMA) is the instruction to accelerate
matrix multiplication on RDNA3 architectures.  LLVM already provides a
set of intrinsics to generate wmma instructions. This change uses those
intrinsics to enable the feature in MLIR.

Reviewed By: krzysz00

Differential Revision: https://reviews.llvm.org/D152451
mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
mlir/test/Conversion/AMDGPUToROCDL/wmma.mlir [new file with mode: 0644]
mlir/test/Dialect/AMDGPU/invalid.mlir
mlir/test/Dialect/AMDGPU/ops.mlir
mlir/test/Target/LLVMIR/rocdl.mlir