diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-05-04 18:52:25 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:51:17 +0000 |
commit | 535fedd992006b671ec194bafdc18246a27121b5 (patch) | |
tree | c6833dd68b25eda420d73e44cbcf5824c0be4f36 /src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp | |
parent | 6cf188c33aa89d2dba5367ad43f1d5f07b46cef2 (diff) | |
download | ComputeLibrary-535fedd992006b671ec194bafdc18246a27121b5.tar.gz |
COMPMID-1117: TransposeAccessWindow leads to high padding
Switches CLGEMMMatrixMultiplyKernel and CLGEMMTranspose1xWKernel to use
AccessWindowStatic
Change-Id: I21533d4218215d5b8f84b23c603062678eccb1ed
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130244
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp')
-rw-r--r-- | src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp b/src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp index 805a594af6..2761247684 100644 --- a/src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp +++ b/src/core/CL/kernels/CLGEMMMatrixMultiplyKernel.cpp @@ -126,7 +126,9 @@ inline std::pair<Status, Window> validate_and_configure_window(ITensorInfo *inpu win = calculate_max_window(*output, Steps(num_elems_processed_per_iteration_x, num_elems_processed_per_iteration_y)); AccessWindowRectangle input0_access(input0, 0, 0, num_elems_processed_per_iteration_y, 1, 1.f, 0.25f); - AccessWindowTranspose input1_access(input1, 0, 0, num_elems_processed_per_iteration_x, 1, 0.f, 0.25f); + AccessWindowStatic input1_access(input1, 0, 0, + ceil_to_multiple(input1->dimension(0), num_elems_processed_per_iteration_x), + ceil_to_multiple(input1->dimension(1), num_elems_processed_per_iteration_y)); AccessWindowRectangle output_access(output, 0, 0, num_elems_processed_per_iteration_x, num_elems_processed_per_iteration_y); window_changed = update_window_and_padding(win, input0_access, input1_access, output_access); |