[all-commits] [llvm/llvm-project] f0311a: Revert "fix bug for F(mx1, rx1) and F(1xm, 1xr)"
Hsiangkai Wang via All-commits
all-commits at lists.llvm.org
Mon Jul 1 05:49:22 PDT 2024
Branch: refs/heads/users/hsiangkai/winograd-tiling
Home: https://github.com/llvm/llvm-project
Commit: f0311ab642baa29224378c3465ee8c750b89159b
https://github.com/llvm/llvm-project/commit/f0311ab642baa29224378c3465ee8c750b89159b
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-06-29 (Sat, 29 Jun 2024)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
Log Message:
-----------
Revert "fix bug for F(mx1, rx1) and F(1xm, 1xr)"
This reverts commit 04b31ec7b65244cd004fdfe767d70e059c2ffa2c.
Commit: 435761ebe47d3d2e4e9f08a4d2e8ce28e64da534
https://github.com/llvm/llvm-project/commit/435761ebe47d3d2e4e9f08a4d2e8ce28e64da534
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-06-29 (Sat, 29 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
R mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
Log Message:
-----------
Revert "[mlir][linalg] Implement TilingInterface for winograd operators"
This reverts commit 73b524b7746839614655fd8082dbda297e93ba72.
Commit: 398d00e755a80f85cfbe5b8c0dc5349c7b751297
https://github.com/llvm/llvm-project/commit/398d00e755a80f85cfbe5b8c0dc5349c7b751297
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-06-29 (Sat, 29 Jun 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
R mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
Revert "[mlir][linalg] Decompose winograd operators"
This reverts commit 24c4f957ae673c2955fc0674f91e488813d59350.
Commit: 8f5649c9b02fd7dff15c8d94df77092922d8b70a
https://github.com/llvm/llvm-project/commit/8f5649c9b02fd7dff15c8d94df77092922d8b70a
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-06-29 (Sat, 29 Jun 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
R mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
Log Message:
-----------
Revert "[mlir][linalg] Add transform operator for Winograd Conv2D algorithm"
This reverts commit 374b0d5b83ce080bea690199380e270a36ad1c52.
Commit: 975f0a912a3cffb4e50b932b2f5b71d14bd6b657
https://github.com/llvm/llvm-project/commit/975f0a912a3cffb4e50b932b2f5b71d14bd6b657
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-06-29 (Sat, 29 Jun 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
R mlir/test/Dialect/Linalg/winograd-conv2d.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
Revert "[mlir][linalg] Implement Conv2D using Winograd Conv2D algorithm"
This reverts commit 4240341b4f06f1b77f63b0f619cae3804d88eb68.
Commit: 1fa83daf9044a79920495f8e4037fb0bd81e11b0
https://github.com/llvm/llvm-project/commit/1fa83daf9044a79920495f8e4037fb0bd81e11b0
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/winograd-conv2d.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Implement Conv2D using Winograd Conv2D algorithm
Define high level winograd operators and convert conv_2d_nhwc_fhwc into
winograd operators. According to Winograd Conv2D algorithm, we need
three transform operators for input, filter, and output transformation.
The formula of Winograd Conv2D algorithm is
Y = A^T x [(G x g x G^T) @ (B^T x d x B)] x A
filter transform: G x g x G^T
input transform: B^T x d x B
output transform: A^T x y x A
The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)
Commit: 8113ac491ef73be954241e674c681ca9b0338cab
https://github.com/llvm/llvm-project/commit/8113ac491ef73be954241e674c681ca9b0338cab
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
Log Message:
-----------
[mlir][linalg] Add transform operator for Winograd Conv2D algorithm
Add a transform operator structured.winograd_conv2d to convert
linalg.conv_2d_nhwc_fhwc to Linalg winograd operators.
Commit: e7459ff18c15f93892f53fe2d5fe4faa6be760ae
https://github.com/llvm/llvm-project/commit/e7459ff18c15f93892f53fe2d5fe4faa6be760ae
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
A mlir/test/Dialect/Linalg/winograd-conv2d-rewrite.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Decompose winograd operators
Convert Linalg winograd_filter_transform, winograd_input_transform, and
winograd_output_transform into nested loops with matrix multiplication
with constant transform matrices.
Support several configurations of Winograd Conv2D, including F(2, 3),
F(4, 3) and F(2, 5). These configurations show that the implementation
can support different kernel size (3 and 5) and different output size
(2 and 4). Besides symetric kernel size 3x3 and 5x5, this patch also
supports 1x3, 3x1, 1x5, and 5x1 kernels.
The implementation is based on the paper, Fast Algorithm for
Convolutional Neural Networks. (https://arxiv.org/abs/1509.09308)
Commit: fc3bf659b730c6e02211752646bd56f705581221
https://github.com/llvm/llvm-project/commit/fc3bf659b730c6e02211752646bd56f705581221
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-01 (Mon, 01 Jul 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.
Commit: 15961055b4051ea98bf2ac004fb55c1f565da539
https://github.com/llvm/llvm-project/commit/15961055b4051ea98bf2ac004fb55c1f565da539
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-01 (Mon, 01 Jul 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/test/Dialect/Linalg/transform-tile-and-winograd-rewrite.mlir
Log Message:
-----------
Address comments
Compare: https://github.com/llvm/llvm-project/compare/04b31ec7b652...15961055b405
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