From f67903b8ab8205b47f0ee2c27aeca8bed405c58e Mon Sep 17 00:00:00 2001 From: Mohammed Suhail Munshi Date: Mon, 4 Jul 2022 13:36:14 +0100 Subject: Add Dynamic Fusion Tests with BugFixes - Allow fusing arbitrary number of existing elementwise operators - Fix issues with 3D and 4D tensors in Elementwise Addition and Floor components - Collapse the 3D/4D window in the same way as that used by Conv2d, i.e. collapse dim 1 and dim 2 together - Fix Floor component issues when used after other components - Add Dynamic Fusion Tests (Floor + Div, Conv2d + Add + Div) - Add Addition ElementWise Broadcasting Test Resolves: [COMPMID-5356] Change-Id: I58b93a90175bb0440d43531d18cac94b5f5c2689 Signed-off-by: Mohammed Suhail Munshi Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/c/VisualCompute/ComputeLibrary/+/433956 Tested-by: bsgcomp Reviewed-by: Pablo Tello Comments-Addressed: bsgcomp Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7957 Reviewed-by: SiCong Li Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Benchmark: Arm Jenkins --- .../experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h') diff --git a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h index 57ac70aa22..04919acb83 100644 --- a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h +++ b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h @@ -371,6 +371,7 @@ public: { return Window{}; } + /** Get the tag look-up table used to instantiate the component code. * * @param vtable @@ -557,7 +558,7 @@ public: std::string build_code() { - ARM_COMPUTE_ERROR_ON_MSG(_graph_root < 0, "No root found in the component graph"); + ARM_COMPUTE_ERROR_ON_MSG(_graph_root == -1, "No root found in the component graph"); // These data structures will hold the data from all the components in the blueprint std::set headers_list{}; @@ -666,9 +667,10 @@ public: return _tile_info; } + // Get the global execution window, i.e. that of the root component Window get_execution_window() const { - ARM_COMPUTE_ERROR_ON_MSG(_graph_root < 0, "No root found in the component graph"); + ARM_COMPUTE_ERROR_ON_MSG(_graph_root == -1, "No root found in the component graph"); ARM_COMPUTE_ERROR_ON_MSG(_dst_id == -1, "Destination Tensor Id should be ready before calling get_execution_window()"); return _components.find(_graph_root)->second->get_window(); @@ -925,4 +927,4 @@ private: } // namespace experimental } // namespace arm_compute #endif //ARM_COMPUTE_EXPERIMENTAL_DYNAMICFUSION_IMPL_COMMON_H -#endif /* ENABLE_EXPERIMENTAL_DYNAMIC_FUSION */ \ No newline at end of file +#endif /* ENABLE_EXPERIMENTAL_DYNAMIC_FUSION */ -- cgit v1.2.1