[all-commits] [llvm/llvm-project] 991945: [mlir][linalg] Downscale 2D convolution with unit ...

devajith-huawei via All-commits all-commits at lists.llvm.org
Wed Mar 8 14:32:13 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 991945f4410af9df33f0889bf3c0695fd45a28b1
      https://github.com/llvm/llvm-project/commit/991945f4410af9df33f0889bf3c0695fd45a28b1
  Author: Devajith Valaparambil Sreeramaswamy <devajith.sreeramaswamy at huawei.com>
  Date:   2023-03-08 (Wed, 08 Mar 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/test/Dialect/Linalg/transform-op-decompose.mlir

  Log Message:
  -----------
  [mlir][linalg] Downscale 2D convolution with unit dimensions to 1D convolution

Decompose conv_2d -> conv_1d.

This MR follows a similar approach to https://reviews.llvm.org/D112928.

This patch adds support to convert conv_2D operation with either unit height or unit width to conv_1D operation.

This is useful when 2D convolution is tiled to have a single dimension for either height or width and then can be vectorized once it is decomposed into 1D convolution.

This patch https://reviews.llvm.org/D145160 adds vector support for linalg.conv_1d operation and thereby allowing us to vectorize linalg.conv_2d operation after proper tiling.

This missing feature is reported here: https://discourse.llvm.org/t/vectorization-of-convolution-op/60458.

Reviewed By: hanchung

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




More information about the All-commits mailing list