diff options
Diffstat (limited to 'libs/ARMComputeEx/arm_compute/core/CL/kernels/CLStridedSliceExKernel.h')
-rw-r--r-- | libs/ARMComputeEx/arm_compute/core/CL/kernels/CLStridedSliceExKernel.h | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/libs/ARMComputeEx/arm_compute/core/CL/kernels/CLStridedSliceExKernel.h b/libs/ARMComputeEx/arm_compute/core/CL/kernels/CLStridedSliceExKernel.h deleted file mode 100644 index 6368c380e..000000000 --- a/libs/ARMComputeEx/arm_compute/core/CL/kernels/CLStridedSliceExKernel.h +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * Copyright (c) 2016-2018 ARM Limited. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * @file CLStridedSliceExKernel.h - * @ingroup COM_AI_RUNTIME - * @brief This file defines CLStridedSliceExKernel class - */ - -#ifndef __ARM_COMPUTE_CLSTRIDEDSLICEEXKERNEL_H__ -#define __ARM_COMPUTE_CLSTRIDEDSLICEEXKERNEL_H__ - -#include "arm_compute/core/CL/ICLKernel.h" - -namespace arm_compute -{ -class ICLTensor; - -/** -* @brief Class to define an interface for the kernel to extract a strided slice of a tensor -*/ -class CLStridedSliceExKernel : public ICLKernel -{ -public: - /** - * @brief Construct a CLStridedSliceExKernel object - * */ - CLStridedSliceExKernel(); - - /** - * @brief Prevent instances of this class from being copied (As this class contains pointers) - * */ - CLStridedSliceExKernel(const CLStridedSliceExKernel &) = delete; - - /** - * @brief Prevent instances of this class from being copied (As this class contains pointers) - * */ - CLStridedSliceExKernel &operator=(const CLStridedSliceExKernel &) = delete; - - /** - * @brief Construct a CLStridedSliceExKernel object by using default move constructor - * @param[in] CLStridedSliceExKernel object to move - * */ - CLStridedSliceExKernel(CLStridedSliceExKernel &&) = default; - - /** - * @brief Move assignment operator - * @param[in] CLStridedSliceExKernel object to move - * */ - CLStridedSliceExKernel &operator=(CLStridedSliceExKernel &&) = default; - - /** - * @brief Destruct this object - * */ - ~CLStridedSliceExKernel() = default; - - /** - * @brief Set the input and output of the kernel - * @param[in] input Source tensor. Data type supported: - * U8/S8/QASYMM8/U16/S16/U32/S32/F16/F32 - * @param[out] output Destination tensor. Data type supported: Same as @p input - * @param[in] beginData The begin tensor. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] endData The end tensor. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] strideData The stride tensor. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] beginMask Mask for begin - * @param[in] endMask Mask for end - * @param[in] shrinkAxisMask Mask for shrink axis. - * @return N/A - */ - void configure(const ICLTensor *input, ICLTensor *output, ICLTensor *beginData, - ICLTensor *endData, ICLTensor *stridesData, int32_t beginMask, int32_t endMask, - int32_t shrinkAxisMask); - - /** - * @brief Static function to check if given info will lead to a valid configuration of @ref - * CLStridedSliceExKernel - * @param[in] input The input tensor info. Data types supported: - * U8/S8/QASYMM8/U16/S16/U32/S32/F16/F32 - * @param[in] output The output tensor info, Data types supported: same as @p input1. - * @param[in] begin The begin tensor info. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] end The end tensor info. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] stride The stride tensor info. Data types supported: S32. - * The number of dimensions must be 1. - * The length must be the same as the number of dimensions of input. - * @param[in] beginMask Mask for begin - * @param[in] endMask Mask for end - * @param[in] shrinkAxisMask Mask for shrink axis. - * @return a status - */ - static Status validate(const ITensorInfo *input, const ITensorInfo *output, - const ITensorInfo *begin, const ITensorInfo *end, - const ITensorInfo *stride, int32_t beginMask, int32_t endMask, - int32_t shrinkAxisMask); - - /** - * @brief Enqueue the OpenCL kernel to process the given window on the passed OpenCL command - * queue. - * @note The queue is *not* flushed by this method, and therefore the kernel will not have - * been executed by the time this method returns. - * @param[in] window Region on which to execute the kernel. (Must be a valid region of - * the window returned by window()). - * @param[in,out] queue Command queue on which to enqueue the kernel.@return N/A - * @return N/A - */ - void run(const Window &window, cl::CommandQueue &queue) override; - -private: - const ICLTensor *_input; /** Source tensor */ - ICLTensor *_output; /** Destination tensor */ - ICLTensor *_beginData; /** Start indices of input tensor */ - ICLTensor *_endData; /** Stop indices of input tensor */ - ICLTensor *_stridesData; /** Strides tensor */ - int32_t _beginMask; /** Begin mask */ - int32_t _endMask; /** End mask */ - int32_t _shrinkAxisMask; /** Shrink axis mask */ -}; -} // namespace arm_compute -#endif /*__ARM_COMPUTE_CLSTRIDEDSLICEEXKERNEL_H__ */ |