aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/runtime/CL/functions/CLScale.h
diff options
context:
space:
mode:
authorManuel Bottini <manuel.bottini@arm.com>2020-12-03 16:26:35 +0000
committerManuel Bottini <manuel.bottini@arm.com>2020-12-18 13:36:07 +0000
commit0c58f99495844c6ace629116451dae00e8c27418 (patch)
tree709fe9b3088626a135aec253ca20ede21d2c870f /arm_compute/runtime/CL/functions/CLScale.h
parent2567adfc881049fefada9be523347b4f384e6d27 (diff)
downloadComputeLibrary-0c58f99495844c6ace629116451dae00e8c27418.tar.gz
Remove OpenCL padding CLScaleKernel
Resolves COMPMID-3918 Change-Id: I970b1eaf2ae6f2f5a8cfc318cd1a3dfd3ba36fdb Signed-off-by: Manuel Bottini <manuel.bottini@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/4668 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Diffstat (limited to 'arm_compute/runtime/CL/functions/CLScale.h')
-rw-r--r--arm_compute/runtime/CL/functions/CLScale.h76
1 files changed, 26 insertions, 50 deletions
diff --git a/arm_compute/runtime/CL/functions/CLScale.h b/arm_compute/runtime/CL/functions/CLScale.h
index 360d63ea22..1739190972 100644
--- a/arm_compute/runtime/CL/functions/CLScale.h
+++ b/arm_compute/runtime/CL/functions/CLScale.h
@@ -26,20 +26,37 @@
#include "arm_compute/core/KernelDescriptors.h"
#include "arm_compute/core/Types.h"
-#include "arm_compute/runtime/CL/ICLSimpleFunction.h"
+#include "arm_compute/runtime/CL/CLRuntimeContext.h"
+#include "arm_compute/runtime/IFunction.h"
+#include "src/core/CL/kernels/CLFillBorderKernel.h"
+#include "src/core/CL/kernels/CLScaleKernel.h"
#include <cstdint>
namespace arm_compute
{
+// Forward declarations
class CLCompileContext;
class ICLTensor;
class ITensorInfo;
/** Basic function to run @ref CLScaleKernel */
-class CLScale : public ICLSimpleFunction
+class CLScale : public IFunction
{
public:
+ /** Default Constructor */
+ CLScale();
+ /** Default Destructor */
+ ~CLScale() = default;
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ CLScale(const CLScale &) = delete;
+ /** Default move constructor */
+ CLScale(CLScale &&) = default;
+ /** Prevent instances of this class from being copied (As this class contains pointers) */
+ CLScale &operator=(const CLScale &) = delete;
+ /** Default move assignment operator */
+ CLScale &operator=(CLScale &&) = default;
+
/** Initialize the function's source, destination, interpolation type and border_mode.
*
* @param[in,out] input Source tensor. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/F16/F32. (Written to only for @p border_mode != UNDEFINED)
@@ -57,37 +74,6 @@ public:
* @param[in] info @ref ScaleKernelInfo descriptor to be used to configure
*/
void configure(const CLCompileContext &compile_context, ICLTensor *input, ICLTensor *output, const ScaleKernelInfo &info);
- /** Initialize the function's source, destination, interpolation type and border_mode.
- *
- * @param[in,out] input Source tensor. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/F16/F32. (Written to only for @p border_mode != UNDEFINED)
- * @param[out] output Destination tensor. Data types supported: Same as @p input
- * All but the lowest two dimensions must be the same size as in the input tensor, i.e. scaling is only performed within the XY-plane.
- * @param[in] policy The interpolation type.
- * @param[in] border_mode Strategy to use for borders.
- * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT.
- * @param[in] sampling_policy (Optional) Sampling policy used by the interpolation. Defaults to @ref SamplingPolicy::CENTER
- * @param[in] use_padding (Optional) Is padding in use or not. Defaults to true.
- * @param[in] align_corners (Optional) Align corners of input and output, only affecting bilinear policy with TOP_LEFT sampling policy. Defaults to false.
- */
- ARM_COMPUTE_DEPRECATED_REL(20.08)
- void configure(ICLTensor *input, ICLTensor *output, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value = PixelValue(),
- SamplingPolicy sampling_policy = SamplingPolicy::CENTER, bool use_padding = true, bool align_corners = false);
- /** Initialize the function's source, destination, interpolation type and border_mode.
- *
- * @param[in] compile_context The compile context to be used.
- * @param[in,out] input Source tensor. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/F16/F32. (Written to only for @p border_mode != UNDEFINED)
- * @param[out] output Destination tensor. Data types supported: Same as @p input
- * All but the lowest two dimensions must be the same size as in the input tensor, i.e. scaling is only performed within the XY-plane.
- * @param[in] policy The interpolation type.
- * @param[in] border_mode Strategy to use for borders.
- * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT.
- * @param[in] sampling_policy (Optional) Sampling policy used by the interpolation. Defaults to @ref SamplingPolicy::CENTER
- * @param[in] use_padding (Optional) Is padding in use or not. Defaults to true.
- * @param[in] align_corners (Optional) Align corners of input and output, only affecting bilinear policy with TOP_LEFT sampling policy. Defaults to false.
- */
- ARM_COMPUTE_DEPRECATED_REL(20.08)
- void configure(const CLCompileContext &compile_context, ICLTensor *input, ICLTensor *output, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value = PixelValue(),
- SamplingPolicy sampling_policy = SamplingPolicy::CENTER, bool use_padding = true, bool align_corners = false);
/** Static function to check if given info will lead to a valid configuration of @ref CLScale
*
@@ -99,23 +85,13 @@ public:
* @return a status
*/
static Status validate(const ITensorInfo *input, const ITensorInfo *output, const ScaleKernelInfo &info);
- /** Static function to check if given info will lead to a valid configuration of @ref CLScale
- *
- * @param[in] input Source tensor info. Data types supported: U8/QASYMM8/QASYMM8_SIGNED/S16/F16/F32.
- * @param[in] output Output tensor info. Data type supported: Same as @p input
- * All but the lowest two dimensions must be the same size as in the input tensor, i.e. scaling is only performed within the XY-plane.
- * @param[in] policy The interpolation type.
- * @param[in] border_mode Strategy to use for borders.
- * @param[in] constant_border_value (Optional) Constant value to use for borders if border_mode is set to CONSTANT.
- * @param[in] sampling_policy (Optional) Sampling policy used by the interpolation. Defaults to @ref SamplingPolicy::CENTER
- * @param[in] use_padding (Optional) Is padding in use or not. Defaults to true.
- * @param[in] align_corners (Optional) Align corners of input and output, only affecting bilinear policy with TOP_LEFT sampling policy. Defaults to false.
- *
- * @return a status
- */
- ARM_COMPUTE_DEPRECATED_REL(20.08)
- static Status validate(const ITensorInfo *input, const ITensorInfo *output, InterpolationPolicy policy, BorderMode border_mode, PixelValue constant_border_value = PixelValue(),
- SamplingPolicy sampling_policy = SamplingPolicy::CENTER, bool use_padding = true, bool align_corners = false);
+
+ // Inherited methods overridden:
+ void run() override;
+
+protected:
+ std::unique_ptr<CLFillBorderKernel> _border_handler;
+ std::unique_ptr<CLScaleKernel> _kernel;
};
}
#endif /*ARM_COMPUTE_CLSCALE_H */