From 1efed925da927cc47bff6327c66f252b65c660bc Mon Sep 17 00:00:00 2001 From: Sheri Zhang Date: Wed, 10 Mar 2021 22:43:38 +0000 Subject: Make ClDirectConvolutionKernel stateless ClDirectorConvolution triggers ClActivation (if enabled) Remove static tuner as the interface need to be changed base on new api. Remove functions in ClScaleKernel specific for static Tuner. Solves: COMPMID-4010 Signed-off-by: Sheri Zhang Change-Id: I7861c3462fda323a6fe1891834068a462245cb1b Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5262 Reviewed-by: Sang-Hoon Park Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- .../CL/functions/CLDirectConvolutionLayer.h | 25 +++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h') diff --git a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h index 0afc9d3f38..6e9e2161b9 100644 --- a/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h +++ b/arm_compute/runtime/CL/functions/CLDirectConvolutionLayer.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2020 Arm Limited. + * Copyright (c) 2017-2021 Arm Limited. * * SPDX-License-Identifier: MIT * @@ -33,8 +33,6 @@ namespace arm_compute { class CLCompileContext; -class CLDirectConvolutionLayerKernel; -class CLFillBorderKernel; class ICLTensor; class ITensorInfo; @@ -43,14 +41,18 @@ class ITensorInfo; class CLDirectConvolutionLayer : public IFunction { public: - /** Default constructor */ + /** Constructor */ CLDirectConvolutionLayer(); - /** Prevent instances of this class from being copied */ + /** Destructor */ + ~CLDirectConvolutionLayer(); + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLDirectConvolutionLayer(const CLDirectConvolutionLayer &) = delete; - /** Prevent instances of this class from being copied */ + /** Default move constructor */ + CLDirectConvolutionLayer(CLDirectConvolutionLayer &&); + /** Prevent instances of this class from being copied (As this class contains pointers) */ CLDirectConvolutionLayer &operator=(const CLDirectConvolutionLayer &) = delete; - /** Default destructor */ - ~CLDirectConvolutionLayer(); + /** Default move assignment operator */ + CLDirectConvolutionLayer &operator=(CLDirectConvolutionLayer &&); /** Set the input and output tensors. * * @param[in] input Source tensor. 3 lower dimensions represent a single input [width, height, IFM], @@ -103,11 +105,8 @@ public: void run() override; private: - std::unique_ptr _direct_conv_kernel; - std::unique_ptr _input_border_handler; - CLActivationLayer _activationlayer_function; - - bool _is_activationlayer_enabled; + struct Impl; + std::unique_ptr _impl; }; } #endif /* ARM_COMPUTE_CLDIRECTCONVOLUTIONLAYER_H */ -- cgit v1.2.1