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

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


  Branch: refs/heads/users/hsiangkai/winograd-tiling
  Home:   https://github.com/llvm/llvm-project
  Commit: 73b524b7746839614655fd8082dbda297e93ba72
      https://github.com/llvm/llvm-project/commit/73b524b7746839614655fd8082dbda297e93ba72
  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