[all-commits] [llvm/llvm-project] 27ee33: [mlir][linalg] Decompose winograd operators (#96183)
Hsiangkai Wang via All-commits
all-commits at lists.llvm.org
Wed Jul 17 22:05:15 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 27ee33d1368b9772f75285932c00479a0fae82ee
https://github.com/llvm/llvm-project/commit/27ee33d1368b9772f75285932c00479a0fae82ee
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2024-07-18 (Thu, 18 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 (#96183)
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)
Reviewers: ftynse, Max191, GeorgeARM, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin
Reviewed By: ftynse, Max191
Pull Request: https://github.com/llvm/llvm-project/pull/96183
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