diff options
author | Sheri Zhang <sheri.zhang@arm.com> | 2020-06-25 20:01:00 +0100 |
---|---|---|
committer | Sheri Zhang <sheri.zhang@arm.com> | 2020-07-02 14:22:40 +0000 |
commit | fcf6f4e5a94ff8a16efe3171bf36ca69840cd3c5 (patch) | |
tree | acc3535c231d4fa124317541ba0e6b4ad8c4a365 /arm_compute/core/NEON/kernels | |
parent | 6b6a16faa9375365d444b2a3998381b22cd6cd5b (diff) | |
download | ComputeLibrary-fcf6f4e5a94ff8a16efe3171bf36ca69840cd3c5.tar.gz |
COMPMID-3477: Remove padding from NEPixelWiseMultiplicationKernel
Remove padding from all NEPixelWiseMultiplicationKernel functions.
Add test case for U8_U8_S16(input1,input2,output).
Add reference code for U8_U8_S16(input1,input2,output).
Remove window shrink test from NormalizationLayer.
Signed-off-by: Sheri Zhang <sheri.zhang@arm.com>
Change-Id: I28d89790c5527a42f918814a0ee3d6ec4c273532
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3468
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/kernels')
-rw-r--r-- | arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h index 1a9dd6be2e..3cb0874a2f 100644 --- a/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h +++ b/arm_compute/core/NEON/kernels/NEPixelWiseMultiplicationKernel.h @@ -100,38 +100,36 @@ public: // Inherited methods overridden: void run(const Window &window, const ThreadInfo &info) override; - BorderSize border_size() const override; private: /** Common signature for all the specialised multiplication functions with integer scaling factor * - * @param[in] input1_ptr Pointer to the first input tensor. - * @param[in] input2_ptr Pointer to the second input tensor. - * @param[out] output_ptr Pointer to the output tensor. - * @param[in] scale Integer scale factor. + * @param[in] in1 Input1 tensor object. + * @param[in] in2 Input2 tensor object. + * @param[out] out Output tensor object. + * @param[in] window Region on which to execute the kernel + * @param[in] scale Integer scale factor. */ - using MulFunctionInt = void(const void *__restrict input1_ptr, const void *__restrict input2_ptr, void *__restrict output_ptr, int scale); + using MulFunctionInt = void(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, int scale); /** Common signature for all the specialised multiplication functions with float scaling factor * - * @param[in] input1_ptr Pointer to the first input tensor. - * @param[in] input2_ptr Pointer to the second input tensor. - * @param[out] output_ptr Pointer to the output tensor. - * @param[in] scale Float scale factor. + * @param[in] in1 Input1 tensor object. + * @param[in] in2 Input2 tensor object. + * @param[out] out Output tensor object. + * @param[in] window Region on which to execute the kernel + * @param[in] scale Float scale factor. */ - using MulFunctionFloat = void(const void *__restrict input1_ptr, const void *__restrict input2_ptr, void *__restrict output_ptr, float scale); + using MulFunctionFloat = void(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, float scale); /** Common signature for all the specialised QASYMM8 multiplication functions with float scaling factor * - * @param[in] input1_ptr Pointer to the first input tensor. - * @param[in] input2_ptr Pointer to the second input tensor. - * @param[out] output_ptr Pointer to the output tensor. - * @param[in] scale Float scale factor. - * @param[in] input1_qua_info Quantization Info of tensor input1. - * @param[in] input2_qua_info Quantization Info of tensor input2. - * @param[in] output_qua_info Quantization Info of tensor output. + * @param[in] in1 Input1 tensor object. + * @param[in] in2 Input2 tensor object. + * @param[out] out Output tensor object. + * @param[in] window Region on which to execute the kernel + * @param[in] scale Float scale factor. * */ - using MulFunctionQuantized = void(const void *__restrict input1_ptr, const void *__restrict input2_ptr, void *__restrict output_ptr, float scale, - const UniformQuantizationInfo &input1_qua_info, const UniformQuantizationInfo &input2_qua_info, const UniformQuantizationInfo &output_qua_info); + using MulFunctionQuantized = void(const ITensor *in1, const ITensor *in2, ITensor *out, const Window &window, float scale); MulFunctionFloat *_func_float; MulFunctionInt *_func_int; @@ -143,7 +141,6 @@ private: ITensor *_output; float _scale; int _scale_exponent; - bool _run_optimized_qasymm8; }; /** Interface for the complex pixelwise multiplication kernel. */ |