From 44f5572f3d6ba8e39c4a18a991049992d590ce39 Mon Sep 17 00:00:00 2001 From: Giorgio Arena Date: Fri, 12 Jul 2019 14:49:49 +0100 Subject: COMPMID-2179 New generic depthwise convolution for NEON F32 NHWC Change-Id: I2b883785c0500d4bdb6ee4700382ee058be2cd36 Signed-off-by: Giorgio Arena Reviewed-on: https://review.mlplatform.org/c/1538 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Gian Marco Iodice --- arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'arm_compute/runtime') diff --git a/arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h b/arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h index 715f4f5d1d..5b0d1bafcd 100644 --- a/arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h +++ b/arm_compute/runtime/NEON/functions/NEDepthwiseConvolutionLayer.h @@ -25,6 +25,7 @@ #define __ARM_COMPUTE_NEDEPTHWISECONVOLUTION_H__ #include "arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayer3x3Kernel.h" +#include "arm_compute/core/NEON/kernels/NEDepthwiseConvolutionLayerKernel.h" #include "arm_compute/core/NEON/kernels/NEDepthwiseIm2ColKernel.h" #include "arm_compute/core/NEON/kernels/NEDepthwiseVectorToTensorKernel.h" #include "arm_compute/core/NEON/kernels/NEDepthwiseWeightsReshapeKernel.h" @@ -280,6 +281,10 @@ private: /** Basic function to execute a generic depthwise convolution. This function calls the following NEON kernels: * + * If data type is F32 and data layout is NHWC: + * -# @ref NEDepthwiseConvolutionLayerKernel + * + * Otherwise: * -# @ref NEDepthwiseIm2ColKernel * -# @ref NEDepthwiseWeightsReshapeKernel * -# @ref NEGEMMMatrixVectorMultiplyKernel @@ -339,8 +344,10 @@ private: NEDepthwiseIm2ColKernel _im2col_kernel; NEDepthwiseWeightsReshapeKernel _weights_reshape_kernel; NEGEMMMatrixVectorMultiplyKernel _v2mm_kernel; + NEDepthwiseConvolutionLayerKernel _depthwise_conv_kernel; NEDepthwiseVectorToTensorKernel _vector_to_tensor_kernel; NEDirectConvolutionLayerOutputStageKernel _output_stage_kernel; + NEFillBorderKernel _fill_border; NEFillBorderKernel _v2mm_input_fill_border; NEFillBorderKernel _v2mm_weights_fill_border; NEPermute _permute_input; @@ -358,6 +365,7 @@ private: bool _is_quantized; bool _is_nhwc; bool _is_activationlayer_enabled; + bool _is_optimized; const ITensor *_original_weights; }; } // namespace arm_compute -- cgit v1.2.1