[all-commits] [llvm/llvm-project] 730057: [mlir][linalg] Implement TilingInterface for winog...

Hsiangkai Wang via All-commits all-commits at lists.llvm.org
Thu Jun 20 05:47:37 PDT 2024


  Branch: refs/heads/users/hsiangkai/winograd-tiling
  Home:   https://github.com/llvm/llvm-project
  Commit: 7300578082fb321a0617ed2b61202eca39989e59
      https://github.com/llvm/llvm-project/commit/7300578082fb321a0617ed2b61202eca39989e59
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
    A mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir

  Log Message:
  -----------
  [mlir][linalg] Implement TilingInterface for winograd operators

In order to support arbitrary size input data of conv2d, implement
TilingInterface for winograd operators. Before converting winograd
operators into nested loops with matrix multiply, tile the input of
conv2d into the supported size first.

Add a transform operator structured.decompose_winograd_op to decompose
winograd operators. Before applying the transform op, use tile_using_for
to tile the input data into supported size. The test case shows how to
tile and decompose winograd operators.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list