diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2018-04-17 10:14:10 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:37 +0000 |
commit | fe5ef38cdbc1e9a44c3786744dfc0cc915a608a6 (patch) | |
tree | 6cb81d6057e5fa1abb172ea987a600f885099723 /tests/validation/reference/Winograd.cpp | |
parent | f0cefbfcb1567b952860824a4767ed15f1a87594 (diff) | |
download | ComputeLibrary-fe5ef38cdbc1e9a44c3786744dfc0cc915a608a6.tar.gz |
COMPMID-1037 Add support for F(4x4, 5x5) in CLWinogradInputTransformKernel
Change-Id: Iac26936f46d0f7cdd9d2f8393b0092cd5a223c45
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/127675
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'tests/validation/reference/Winograd.cpp')
-rw-r--r-- | tests/validation/reference/Winograd.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/validation/reference/Winograd.cpp b/tests/validation/reference/Winograd.cpp index 757a06d847..fa6e372cde 100644 --- a/tests/validation/reference/Winograd.cpp +++ b/tests/validation/reference/Winograd.cpp @@ -62,6 +62,18 @@ void initialize_matrix_transform(SimpleTensor<T> &src, const Size2D &output_tile 0.0f, 4.0f, 0.0f, -5.0f, 0.0f, 1.0f, }; + static const float imatrix4x4_5x5[] = + { + 1.f, 0.f, -21.f / 4.f, 0.f, 21.f / 4.f, 0.f, -1.f, 0.f, + 0.f, 1.f, 1.f, -17.f / 4.f, -17.f / 4.f, 1.f, 1.f, 0.f, + 0.f, -1.f, 1.f, 17.f / 4.f, -17.f / 4.f, -1.f, 1.f, 0.f, + 0.f, 1.f / 2.f, 1.f / 4.f, -5.f / 2.f, -5.f / 4.f, 2.f, 1.f, 0.f, + 0.f, -1.f / 2.f, 1.f / 4.f, 5.f / 2.f, -5.f / 4.f, -2.f, 1.f, 0.f, + 0.f, 2.f, 4.f, -5.f / 2.f, -5.f, 1.f / 2.f, 1.f, 0.f, + 0.f, -2.f, 4.f, 5.f / 2.f, -5.f, -1.f / 2.f, 1.f, 0.f, + 0.f, -1.f, 0.f, 21.f / 4.f, 0.f, -21.f / 4.f, 0.f, 1.f + }; + // ------------------------------------------ // Winograd filter transform matrices @@ -122,6 +134,7 @@ void initialize_matrix_transform(SimpleTensor<T> &src, const Size2D &output_tile { { WinogradKey(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3), WinogradTransformType::INPUT), imatrix2x2_3x3 }, { WinogradKey(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3), WinogradTransformType::INPUT), imatrix4x4_3x3 }, + { WinogradKey(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5), WinogradTransformType::INPUT), imatrix4x4_5x5 }, { WinogradKey(std::pair<int, int>(2, 2), std::pair<int, int>(3, 3), WinogradTransformType::FILTER), fmatrix2x2_3x3 }, { WinogradKey(std::pair<int, int>(4, 4), std::pair<int, int>(3, 3), WinogradTransformType::FILTER), fmatrix4x4_3x3 }, { WinogradKey(std::pair<int, int>(4, 4), std::pair<int, int>(5, 5), WinogradTransformType::FILTER), fmatrix4x4_5x5 }, |