[all-commits] [llvm/llvm-project] 44e631: [mlir][transforms] Revamp the implementation of ma...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Tue Jul 25 15:09:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 44e6318ceacdc00d4f9b0fbb2814d6dc03e27f7d
      https://github.com/llvm/llvm-project/commit/44e6318ceacdc00d4f9b0fbb2814d6dc03e27f7d
  Author: Nicolas Vasilache <nicolasvasilache at users.noreply.github.com>
  Date:   2023-07-26 (Wed, 26 Jul 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/include/mlir/Dialect/GPU/TransformOps/Utils.h
    M mlir/include/mlir/Dialect/SCF/IR/DeviceMappingInterface.td
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
    M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
    M mlir/test/Dialect/GPU/transform-gpu-failing.mlir
    M mlir/test/Dialect/GPU/transform-gpu.mlir
    M mlir/test/Dialect/Linalg/transform-op-gpu-map-copy-to-threads.mlir

  Log Message:
  -----------
  [mlir][transforms] Revamp the implementation of mapping loops to GPUs

This revision significantly simplifies the specification and implementation of mapping loops to GPU ids.

Each type of mapping (block, warpgroup, warp, thread) now comes with 2 mapping modes:
  1. a 3-D "grid-like" mode, subject to alignment considerations on threadIdx.x, on which predication
     may occur on a per-dimension 3-D sub-rectangle basis.
  2. a n-D linearized mode, on which predication may only occur on a linear basis.

In the process, better size and alignment requirement inference are introduced along with improved runtime verification messages.

The `warp_dims` attribute was deemed confusing and is removed from the transform in favor of better size inference.

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




More information about the All-commits mailing list