[all-commits] [llvm/llvm-project] 67b37f: [mlir] Conv ops vectorization pass

Jakub Lichman via All-commits all-commits at lists.llvm.org
Tue Sep 8 01:48:33 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 67b37f571cc27d5684125f694d719b114ad72a18
      https://github.com/llvm/llvm-project/commit/67b37f571cc27d5684125f694d719b114ad72a18
  Author: Jakub Lichman <limo at google.com>
  Date:   2020-09-08 (Tue, 08 Sep 2020)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    A mlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir
    M mlir/test/lib/Transforms/CMakeLists.txt
    A mlir/test/lib/Transforms/TestConvVectorization.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] Conv ops vectorization pass

In this commit a new way of convolution ops lowering is introduced.
The conv op vectorization pass lowers linalg convolution ops
into vector contractions. This lowering is possible when conv op
is first tiled by 1 along specific dimensions which transforms
it into dot product between input and kernel subview memory buffers.
This pass converts such conv op into vector contraction and does
all necessary vector transfers that make it work.

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




More information about the All-commits mailing list