diff options
author | Michael Tyler <michael.tyler@arm.com> | 2023-06-30 11:26:05 +0100 |
---|---|---|
committer | michael.tyler <michael.tyler@arm.com> | 2023-07-04 14:34:58 +0000 |
commit | 8deee9bd9b9137c256c23b86be11dbf0466f3aa8 (patch) | |
tree | ac80b3bdd992552b65e306b77f061484da0591ca /src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp | |
parent | 19844f605f5e5b71d05164711dee13f8652adafe (diff) | |
download | ComputeLibrary-8deee9bd9b9137c256c23b86be11dbf0466f3aa8.tar.gz |
Depthwise channel pre-multiplication
Resolves: COMPMID-6337
Change-Id: Ie9097b3f56e8071426c621386a5988bd7f7e8ef2
Signed-off-by: Michael Tyler <michael.tyler@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9852
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp')
-rw-r--r-- | src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp b/src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp index 39f60c362b..19cf26dd2f 100644 --- a/src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp +++ b/src/core/NEON/kernels/arm_conv/depthwise/depthwise_strategies_common.hpp @@ -49,6 +49,8 @@ class DepthfirstStrategyUntyped : public IDepthfirstStrategy virtual unsigned int get_n_output_points() const; virtual unsigned int get_n_kernel_points() const; + virtual bool uses_premultiply() const; + // Get the number of VLs used in the accumulator, this defaults to 1. virtual unsigned int get_accumulator_depth_vl() const; @@ -65,7 +67,7 @@ class DepthfirstStrategy : public DepthfirstStrategyUntyped { interleaves::PackingArguments packing_args( this->get_kernel_rows(), this->get_kernel_cols(), sizeof(TWeight), - true, sizeof(TAccum), + true, sizeof(TAccum), this->uses_premultiply(), this->get_vl_type(), sizeof(TAccum), this->get_accumulator_depth_vl(), [this] (unsigned int idx, unsigned int &x, unsigned int &y) -> bool { return this->get_kernel_packing_point(idx, x, y); } @@ -81,7 +83,7 @@ class DepthfirstStrategy : public DepthfirstStrategyUntyped { interleaves::PackingArguments packing_args( this->get_kernel_rows(), this->get_kernel_cols(), sizeof(TWeight), - true, sizeof(TAccum), + true, sizeof(TAccum), this->uses_premultiply(), this->get_vl_type(), sizeof(TAccum), this->get_accumulator_depth_vl(), [this] (unsigned int idx, unsigned int &x, unsigned int &y) -> bool { return this->get_kernel_packing_point(idx, x, y); } |