[all-commits] [llvm/llvm-project] 985f7f: [mlir][gpu] Add support for integer types in gpu.s...

Quinn Dawkins via All-commits all-commits at lists.llvm.org
Tue Feb 7 15:05:45 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 985f7ff6326e91b0d508aa1b405f4f26ed683ca6
      https://github.com/llvm/llvm-project/commit/985f7ff6326e91b0d508aa1b405f4f26ed683ca6
  Author: Quinn Dawkins <quinn at nod-labs.com>
  Date:   2023-02-07 (Tue, 07 Feb 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
    M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Conversion/GPUToNVVM/wmma-ops-to-nvvm.mlir
    M mlir/test/Conversion/VectorToGPU/vector-to-mma-ops.mlir
    M mlir/test/Dialect/GPU/invalid.mlir

  Log Message:
  -----------
  [mlir][gpu] Add support for integer types in gpu.subgroup_mma ops

The signedness is carried by `!gpu.mma_matrix` types to most closely
match the Cooperative Matrix specification which determines signedness
with the type (and sometimes the operation).

See: https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_cooperative_matrix.html

To handle the lowering from vector to gpu, ops such as arith.extsi are
pattern matched next to `vector.transfer_read` and `vector.contract` to
determine the signedness of the matrix type.

Enables s8 and u8 WMMA types in NVVM for the GPUToNVVM conversion.

Reviewed By: ThomasRaoux

Differential Revision: https://reviews.llvm.org/D143223




More information about the All-commits mailing list