aboutsummaryrefslogtreecommitdiff
path: root/src/core/NEON/kernels/NETransposeKernel.cpp
diff options
context:
space:
mode:
authorGian Marco <gianmarco.iodice@arm.com>2017-11-29 10:41:38 +0000
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:41:36 +0000
commit5420b28d54c5238ed4c4aa2ccf02a7c3855c6760 (patch)
tree44d201142f71622eaf9d711e2d38d4e1360586df /src/core/NEON/kernels/NETransposeKernel.cpp
parenta5e6d67ddad4c88cec87b23063e8493768bb2c61 (diff)
downloadComputeLibrary-5420b28d54c5238ed4c4aa2ccf02a7c3855c6760.tar.gz
COMPMID-710 - Fix CLTranspose and NETranspose when the input shape is a
vector Fixed replacing AccessWindowTranspose with AccessWindowStatic due to the wrong padding calculation in the X direction within AccessWindowTranspose. AccessWindowTranspose should be fixed with COMPMID-708 Change-Id: I665e130b897a213ae2bf9da4bf092dd491fa00c6 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/111057 Tested-by: BSG Visual Compute Jenkins server to access repositories on http://mpd-gerrit.cambridge.arm.com <bsgcomp@arm.com> Reviewed-by: Michel Iwaniec <michel.iwaniec@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/NETransposeKernel.cpp')
-rw-r--r--src/core/NEON/kernels/NETransposeKernel.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/NEON/kernels/NETransposeKernel.cpp b/src/core/NEON/kernels/NETransposeKernel.cpp
index 1cfaafe93a..44becf5a4b 100644
--- a/src/core/NEON/kernels/NETransposeKernel.cpp
+++ b/src/core/NEON/kernels/NETransposeKernel.cpp
@@ -23,10 +23,11 @@
*/
#include "arm_compute/core/NEON/kernels/NETransposeKernel.h"
-#include "arm_compute/core/AccessWindowTranspose.h"
+#include "arm_compute/core/AccessWindowStatic.h"
#include "arm_compute/core/Error.h"
#include "arm_compute/core/Helpers.h"
#include "arm_compute/core/ITensor.h"
+#include "arm_compute/core/Utils.h"
#include "arm_compute/core/Validate.h"
#include <arm_neon.h>
@@ -221,8 +222,11 @@ void NETransposeKernel::configure(const ITensor *input, ITensor *output)
}
// Configure kernel window
- Window win = calculate_max_window(*input->info(), Steps(num_elems_processed_per_iteration, num_elems_processed_per_iteration));
- AccessWindowTranspose output_access(output->info(), 0, 0, num_elems_processed_per_iteration, num_elems_processed_per_iteration);
+ Window win = calculate_max_window(*input->info(), Steps(num_elems_processed_per_iteration, num_elems_processed_per_iteration));
+
+ // TODO (COMPMID-708): Replace AccessWindowStatic with AccessWindowTranspose
+ AccessWindowStatic output_access(output->info(), 0, 0, ceil_to_multiple(output->info()->dimension(0), num_elems_processed_per_iteration), ceil_to_multiple(output->info()->dimension(1),
+ num_elems_processed_per_iteration));
update_window_and_padding(win,
AccessWindowRectangle(input->info(), 0, 0, num_elems_processed_per_iteration, num_elems_processed_per_iteration),