aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
diff options
context:
space:
mode:
authorHsiangkai Wang <hsiangkai.wang@arm.com>2024-07-10 07:30:45 +0100
committerGitHub <noreply@github.com>2024-07-10 07:30:45 +0100
commit7d246e84a412449f00c0489705336d120983bb5c (patch)
tree19ef6cb590228c5abff772497f280d240053709a /llvm/lib/ExecutionEngine/ExecutionEngine.cpp
parent015526bf3fc6843ad28f9e0809598453228c4bc2 (diff)
downloadllvm-7d246e84a412449f00c0489705336d120983bb5c.zip
llvm-7d246e84a412449f00c0489705336d120983bb5c.tar.gz
llvm-7d246e84a412449f00c0489705336d120983bb5c.tar.bz2
[mlir][linalg] Implement Conv2D using Winograd Conv2D algorithm (#96181)
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) Reviewers: stellaraccident, ftynse, Max191, GeorgeARM, cxy-1993, nicolasvasilache, MaheshRavishankar, dcaballe, rengolin Reviewed By: ftynse, Max191, stellaraccident Pull Request: https://github.com/llvm/llvm-project/pull/96181
Diffstat (limited to 'llvm/lib/ExecutionEngine/ExecutionEngine.cpp')
0 files changed, 0 insertions, 0 deletions