[all-commits] [llvm/llvm-project] 115711: [mlir][LinAlg][Transform][GPU] Add GPU memory hier...

Amir Mohammad Tavakkoli via All-commits all-commits at lists.llvm.org
Mon Feb 27 07:34:14 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 115711c19cd287c098a872c63a00478ca635f642
      https://github.com/llvm/llvm-project/commit/115711c19cd287c098a872c63a00478ca635f642
  Author: Amir Mohammad Tavakkoli <tavakkoli.amirmohammad at gmail.com>
  Date:   2023-02-27 (Mon, 27 Feb 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/TransformOps/GPUDeviceMappingAttr.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
    M mlir/test/Dialect/Linalg/promote.mlir

  Log Message:
  -----------
  [mlir][LinAlg][Transform][GPU] Add GPU memory hierarchy to the transform.promote op

In this patch we are adding the support of copying a a `memref.subview` to the shared or private memory in GPU. The global to shared memory copy is adopted from codes implemented in IREE (https://github.com/iree-org/iree), but the private memory copy part has not been implemented in IREE. This patch enables transferring a subview from `global->shared`, `global->private`, and `shared->private`.

Our final aim is to provide a copy layout as an affine map to the `transform.promote` op to support transpose memory copy. This map is a permutation of the original affine index map. Although this has been implemented and user can copy data to arbitrary layout , this attempt is not included in this patch since we have still problem with `linalg.generic` operations to change their index map to the transformed index map. You can find more in following links ([[ https://github.com/tavakkoliamirmohammad/iree-llvm-fork/commit/4fd5f93355951ad0fb338858393ff409bd9c62f8 | Initial attempt to support layout map in promote op in transform dialect ]]) ([[ https://github.com/tavakkoliamirmohammad/iree-llvm-fork/commit/9062b5849f91d4defb84996392b71087dadf7a8c | Fix data transpose in shared memory ]])

Reviewed By: ftynse

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




More information about the All-commits mailing list