diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-06-24 14:56:34 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-07-09 09:31:37 +0000 |
commit | 30271c779c36a2abe6995c4454674d92bbc1f91f (patch) | |
tree | 531257ff87cf2cb8d6f3b8da0abe3e6cb77a2a0e /arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp | |
parent | 30dbeef2f46bdd6fe05d25dfa27cb4b2359dced3 (diff) | |
download | ComputeLibrary-30271c779c36a2abe6995c4454674d92bbc1f91f.tar.gz |
COMPMID-2156: Optimized dilated convolution for NEON.
Change-Id: I3a8abe8cc9637c8983d9bd69dcbaee1a15eac8d0
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1492
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Diffstat (limited to 'arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp')
-rw-r--r-- | arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp b/arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp index e0cb616a3d..a4a833d90a 100644 --- a/arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp +++ b/arm_compute/core/NEON/kernels/convolution/depthwise/depthwise.hpp @@ -25,8 +25,8 @@ #pragma once #include <arm_neon.h> -#include "arm_compute/core/NEON/kernels/convolution/common/activation.hpp" -#include "arm_compute/core/NEON/kernels/convolution/common/padding.hpp" +#include "activation.hpp" +#include "padding.hpp" namespace depthwise { @@ -127,6 +127,23 @@ class DepthwiseConvolutionBase : public IDepthwiseConvolution unsigned int padding_right ); + /** Create a new depthwise convolution engine. + * + * @param[in] n_batches Number of batches tensors. + * @param[in] n_input_rows Number of rows in input tensor. + * @param[in] n_input_cols Number of columns in input tensor. + * @param[in] n_channels Number of channels in input and output tensors. + */ + DepthwiseConvolutionBase( + int n_batches, int n_input_rows, int n_input_cols, int n_channels, + int n_output_rows, int n_output_cols, + nck::ActivationFunction activation, + unsigned int padding_top, + unsigned int padding_left, + unsigned int padding_bottom, + unsigned int padding_right + ); + // Cannot copy or move a DepthwiseConvolution. DepthwiseConvolutionBase(DepthwiseConvolutionBase&) = delete; DepthwiseConvolutionBase operator=(DepthwiseConvolutionBase&) = delete; @@ -417,6 +434,16 @@ class DepthwiseConvolution< unsigned int padding_right ); + DepthwiseConvolution( + int n_batches, int n_input_rows, int n_input_cols, int n_channels, + int n_output_rows, int n_output_cols, + nck::ActivationFunction activation, + unsigned int padding_top, + unsigned int padding_left, + unsigned int padding_bottom, + unsigned int padding_right + ); + protected: template <nck::ActivationFunction Activation> void execute_tile( @@ -488,6 +515,16 @@ class DepthwiseConvolution< unsigned int padding_right ); + DepthwiseConvolution( + int n_batches, int n_input_rows, int n_input_cols, int n_channels, + int n_output_rows, int n_output_cols, + nck::ActivationFunction activation, + unsigned int padding_top, + unsigned int padding_left, + unsigned int padding_bottom, + unsigned int padding_right + ); + protected: template <nck::ActivationFunction Activation> void execute_tile( |