diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2018-08-30 16:02:11 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:54:54 +0000 |
commit | 09d3451b4caf8d5e0e7cf2c6097e50a1f815d027 (patch) | |
tree | 8e9b8e9882d0120c85ff08473dbf3721b7602677 /arm_compute | |
parent | b57be0da77370e5e71fe82dfa281f528279e8127 (diff) | |
download | ComputeLibrary-09d3451b4caf8d5e0e7cf2c6097e50a1f815d027.tar.gz |
COMPMID-1548: NEON FP16 mismatches on CannyEdge and HarrisCorners.
Removes FP16 from HarrisCorners and CannyEdge.
Change-Id: I5e4f9205fdbe4de85f04f55ecf1568c837e56cc0
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/146247
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Michele DiGiorgio <michele.digiorgio@arm.com>
Diffstat (limited to 'arm_compute')
4 files changed, 2 insertions, 53 deletions
diff --git a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h index 58ef1757fe..7924d32807 100644 --- a/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h +++ b/arm_compute/core/NEON/kernels/NECannyEdgeKernel.h @@ -85,24 +85,6 @@ protected: ITensor *_phase; /**< Destination tensor - Quantized phase */ }; -#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC -/** NEON kernel to perform Gradient computation for FP16 datatype - */ -class NEGradientFP16Kernel : public NEGradientKernel -{ -public: - const char *name() const override - { - return "NEGradientFP16Kernel"; - } - // Inherited methods overriden: - void configure(const ITensor *gx, const ITensor *gy, ITensor *magnitude, ITensor *phase, int32_t norm_type) override; -}; -#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ -/** NEON kernel to perform Gradient computation for FP16 datatype */ -using NEGradientFP16Kernel = NEGradientKernel; -#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ - /** NEON kernel to perform Non-Maxima suppression for Canny Edge. * * @note This kernel is meant to be used alongside CannyEdge and performs a non-maxima suppression using magnitude and phase of input diff --git a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h index aabf8b312b..42a899d55e 100644 --- a/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h +++ b/arm_compute/core/NEON/kernels/NEHarrisCornersKernel.h @@ -102,34 +102,5 @@ private: /** Harris Score function to use for the particular image types passed to configure() */ HarrisScoreFunction *_func; }; - -#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC -/** Interface for the accumulate Weighted kernel using F16 */ -template <int32_t block_size> -class NEHarrisScoreFP16Kernel : public INEHarrisScoreKernel -{ -public: - const char *name() const override - { - return "NEHarrisScoreFP16Kernel"; - } - /** Default constructor */ - NEHarrisScoreFP16Kernel(); - // Inherited methods overridden: - void configure(const IImage *input1, const IImage *input2, IImage *output, float norm_factor, float strength_thresh, float sensitivity, bool border_undefined) override; - BorderSize border_size() const override; - void run(const Window &window, const ThreadInfo &info) override; - -private: - using HarrisScoreFunction = void(const void *__restrict input1_ptr, const void *__restrict input2_ptr, void *__restrict output_ptr, int32_t input_stride, - float norm_factor, float sensitivity, float strength_thresh); - /** Harris Score function to use for the particular image types passed to configure() */ - HarrisScoreFunction *_func; -}; -#else /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ -/** Interface for the accumulate Weighted kernel using FP16 */ -template <int32_t block_size> -using NEHarrisScoreFP16Kernel = NEHarrisScoreKernel<block_size>; -#endif /* __ARM_FEATURE_FP16_VECTOR_ARITHMETIC */ } // namespace arm_compute #endif /* __ARM_COMPUTE_NEHARRISCORNERSKERNEL_H__ */ diff --git a/arm_compute/runtime/NEON/functions/NECannyEdge.h b/arm_compute/runtime/NEON/functions/NECannyEdge.h index 17fefcc0ab..0b6e555667 100644 --- a/arm_compute/runtime/NEON/functions/NECannyEdge.h +++ b/arm_compute/runtime/NEON/functions/NECannyEdge.h @@ -74,11 +74,8 @@ public: * @param[in] norm_type Normalization type. If 1, L1-Norm otherwise L2-Norm * @param[in] border_mode Border mode to use for the convolution. * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT. - * @param[in] use_fp16 (Optional) If true the FP16 kernels will be used. If false F32 kernels are used. - * */ - void configure(ITensor *input, ITensor *output, int32_t upper_thr, int32_t lower_thr, int32_t gradient_size, int32_t norm_type, BorderMode border_mode, uint8_t constant_border_value = 0, - bool use_fp16 = false); + void configure(ITensor *input, ITensor *output, int32_t upper_thr, int32_t lower_thr, int32_t gradient_size, int32_t norm_type, BorderMode border_mode, uint8_t constant_border_value = 0); // Inherited methods overridden: void run() override; diff --git a/arm_compute/runtime/NEON/functions/NEHarrisCorners.h b/arm_compute/runtime/NEON/functions/NEHarrisCorners.h index 6ea14a38e5..b35a9add04 100644 --- a/arm_compute/runtime/NEON/functions/NEHarrisCorners.h +++ b/arm_compute/runtime/NEON/functions/NEHarrisCorners.h @@ -79,11 +79,10 @@ public: * @param[out] corners Array of keypoints to store the results. * @param[in] border_mode Border mode to use * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT. - * @param[in] use_fp16 (Optional) If true the FP16 kernels will be used. If false F32 kernels are used. */ void configure(IImage *input, float threshold, float min_dist, float sensitivity, int32_t gradient_size, int32_t block_size, KeyPointArray *corners, - BorderMode border_mode, uint8_t constant_border_value = 0, bool use_fp16 = false); + BorderMode border_mode, uint8_t constant_border_value = 0); // Inherited methods overridden: void run() override; |