aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/CL/kernels/CLIm2ColKernel.h
diff options
context:
space:
mode:
Diffstat (limited to 'arm_compute/core/CL/kernels/CLIm2ColKernel.h')
-rw-r--r--arm_compute/core/CL/kernels/CLIm2ColKernel.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arm_compute/core/CL/kernels/CLIm2ColKernel.h b/arm_compute/core/CL/kernels/CLIm2ColKernel.h
index 45111fcedd..7e119a32a8 100644
--- a/arm_compute/core/CL/kernels/CLIm2ColKernel.h
+++ b/arm_compute/core/CL/kernels/CLIm2ColKernel.h
@@ -110,6 +110,23 @@ private:
*/
void run_generic(const Window &window, cl::CommandQueue &queue);
+ /** Chooses and configure the right kernel for the given input arguments.
+ *
+ * @param[in] input The input tensor to convert. 3 lower dimensions represent a single input [width, height, IFM],
+ * while every optional dimension from 4 and above represent a batch of inputs. Data types supported: QS8/QASYMM8/QS16/F16/F32
+ * @param[in] output The output tensor. First 2 lower dimensions represent a transform of each 3D input,
+ * while every dimension above represents a batch. Data types supported: Same as @p input
+ * @param[in] kernel_dims The kernel dimensions (width and height).
+ * @param[in] dilation Dilation, in elements, across x and y. Defaults to (1, 1).
+ * @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo.
+ * @param[in] has_bias In case biases are provided expands the matrix with 1.
+ * @param[out] build_opts OpenCL buil program options.
+ *
+ * @return the name of the kernel chosen
+ */
+ std::string configure_window(const ICLTensor *input, ICLTensor *output, const Size2D &kernel_dims,
+ const Size2D &dilation, const PadStrideInfo &conv_info, CLBuildOptions &build_opts);
+
/** Common signature for the kernel to run */
using Im2ColFunction = void (CLIm2ColKernel::*)(const Window &, cl::CommandQueue &);