[all-commits] [llvm/llvm-project] c59465: [mlir][Transform] Add support for mapping to GPU w...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Mon Mar 20 01:05:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c59465e1203dd78d06e15f7ddf62141807dbd5a7
      https://github.com/llvm/llvm-project/commit/c59465e1203dd78d06e15f7ddf62141807dbd5a7
  Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
  Date:   2023-03-20 (Mon, 20 Mar 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUDeviceMappingAttr.td
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.h
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/test/Dialect/GPU/transform-gpu-failing.mlir
    M mlir/test/Dialect/GPU/transform-gpu.mlir

  Log Message:
  -----------
  [mlir][Transform] Add support for mapping to GPU warps and to linear ids

This revisions refactors the implementation of mapping to threads to additionally allow warps and linear ids to be specified.

`warp_dims` is currently specified along with `block_dims` as a transform attribute.

Linear ids on th other hand use the flattened block_dims to predicate on the first (linearized) k threads.
An additional GPULinearIdMappingAttr is added to the GPU dialect to allow specifying loops mapped to this new scheme.

Various implementation and transform op semantics cleanups are also applied.

Reviewed By: ThomasRaoux

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




More information about the All-commits mailing list