From cecb0a75a9de0a12d30f8fabbe16a656c722afa1 Mon Sep 17 00:00:00 2001 From: Sang-Hoon Park Date: Tue, 17 Sep 2019 08:59:09 +0100 Subject: COMPMID-2637 [CL] fix broadcast pixel-wise multiplication with 5D tensors Broadcast pixel-wise multiplication with 5D tensors is fixed by adding information whether a dimension has been broadcasted to compute correct start offset when adding 3D tensor argument. The testcase that failed is added to the validation test suite. Change-Id: I320876f507012c27b39daae1316f9b69138ed204 Signed-off-by: Sang-Hoon Park Reviewed-on: https://review.mlplatform.org/c/1994 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: Georgios Pinitas --- arm_compute/core/Window.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'arm_compute/core/Window.h') diff --git a/arm_compute/core/Window.h b/arm_compute/core/Window.h index a56227996b..be42fe9a87 100644 --- a/arm_compute/core/Window.h +++ b/arm_compute/core/Window.h @@ -48,7 +48,7 @@ public: /** Default constructor: create a window containing a single element. */ constexpr Window() - : _dims() + : _dims(), _is_broadcasted(utility::generate_array::value) { } /** Copy constructor @@ -170,6 +170,20 @@ public: */ void set(size_t dimension, const Dimension &dim); + /** Set the dimension as broadcasted dimension + * + * @param[in] dimension The dimension to set + */ + void set_broadcasted(size_t dimension); + + /** Return whether a dimension has been broadcasted + * + * @param[in] dimension The requested dimension + * + * @return true if the dimension has been broadcasted + */ + bool is_broadcasted(size_t dimension) const; + /** Use the tensor's dimensions to fill the window dimensions. * * @param[in] shape @ref TensorShape to copy the dimensions from. @@ -419,6 +433,7 @@ private: private: std::array _dims; + std::array _is_broadcasted; }; } // namespace arm_compute #include "Window.inl" -- cgit v1.2.1