diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2017-09-27 18:41:07 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | af9cf0028c8245a49bee3c5743e20628958d69cf (patch) | |
tree | a7c3546a547d5a7c2160e4d89cf029e2749178dc | |
parent | 886e5a8cf39d3c064927b5833e50c8aa4db3c34f (diff) | |
download | ComputeLibrary-af9cf0028c8245a49bee3c5743e20628958d69cf.tar.gz |
COMPMID-417: Fix border and window in CLGEMMMatrixVectorMultiplyKernel
Change-Id: I2eacba2c87bce84b7f6b69a734ff775473f990bc
Reviewed-on: http://mpd-gerrit.cambridge.arm.com/89401
Reviewed-by: Steven Niu <steven.niu@arm.com>
Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
-rw-r--r-- | src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp b/src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp index f5502e8d7b..70af5d63cf 100644 --- a/src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp +++ b/src/core/CL/kernels/CLGEMMMatrixVectorMultiplyKernel.cpp @@ -68,8 +68,8 @@ void CLGEMMMatrixVectorMultiplyKernel::configure(const ICLTensor *input0, const _num_rows_read_per_iteration = 4; - const unsigned int border_x = num_elems_read_per_iteration - input0->info()->dimension(0) % num_elems_read_per_iteration; - const unsigned int border_y = _num_rows_read_per_iteration - input0->info()->dimension(1) % _num_rows_read_per_iteration; + const unsigned int border_x = ceil_to_multiple(input0->info()->dimension(0), num_elems_read_per_iteration) - input0->info()->dimension(0); + const unsigned int border_y = ceil_to_multiple(input0->info()->dimension(1), _num_rows_read_per_iteration) - input0->info()->dimension(1); _border_size = BorderSize(border_y, border_x); @@ -96,7 +96,7 @@ void CLGEMMMatrixVectorMultiplyKernel::run(const Window &window, cl::CommandQueu Window slice_out = window.first_slice_window_3D(); // Setup input0 slice - slice_in.set(Window::DimX, Window::Dimension(0, _input0->info()->dimension(0) + border_size().right, _input0->info()->dimension(0) + border_size().right)); + slice_in.set(Window::DimX, Window::Dimension(0, _input0->info()->dimension(0), _input0->info()->dimension(0))); slice_in.set(Window::DimY, Window::Dimension(0, _input0->info()->dimension(1) + border_size().bottom, _num_rows_read_per_iteration)); slice_in.set(Window::DimZ, Window::Dimension(0, _input0->info()->dimension(2), 1)); |