From 9fc3be6250964a2da74cb7a05cf8e352a896ac80 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Sat, 29 May 2021 04:01:51 +0100 Subject: Fuse activation in ClDirectConv2dKernel for float types Resolves: COMPMID-4430 Signed-off-by: Georgios Pinitas Change-Id: I9a40033e09223d601460a7e52cc297c58c9a2737 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5757 Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- src/core/gpu/cl/kernels/ClDirectConv2dKernel.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/core/gpu/cl/kernels/ClDirectConv2dKernel.h') diff --git a/src/core/gpu/cl/kernels/ClDirectConv2dKernel.h b/src/core/gpu/cl/kernels/ClDirectConv2dKernel.h index ec76624e5c..e76666fd36 100644 --- a/src/core/gpu/cl/kernels/ClDirectConv2dKernel.h +++ b/src/core/gpu/cl/kernels/ClDirectConv2dKernel.h @@ -34,8 +34,7 @@ namespace opencl { namespace kernels { -/** Interface for the direct convolution kernel. - */ +/** Interface for the direct convolution kernel. */ class ClDirectConv2dKernel : public IClKernel { public: @@ -62,15 +61,18 @@ public: * @param[out] dst Output tensor info. * The 3rd dimensions must be equal to the 4th dimension of the @p kernels tensor. Data types supported: Same as @p src. * @param[in] conv_info Contains padding and stride information described in @ref PadStrideInfo. + * @param[in] act_info Contains activaton information described in @ref ActivationLayerInfo. */ - void configure(const CLCompileContext &compile_context, ITensorInfo *src, ITensorInfo *weights, ITensorInfo *biases, ITensorInfo *dst, const PadStrideInfo &conv_info); + void configure(const CLCompileContext &compile_context, ITensorInfo *src, ITensorInfo *weights, ITensorInfo *biases, ITensorInfo *dst, + const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info); /** Static function to check if given info will lead to a valid configuration * * Similar to ClDirectConv2dKernel::configure() * * @return a status */ - static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *dst, const PadStrideInfo &conv_info, const GPUTarget target); + static Status validate(const ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *biases, const ITensorInfo *dst, + const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info, const GPUTarget target); // Inherited methods overridden: void run_op(ITensorPack &tensors, const Window &window, cl::CommandQueue &queue) override; -- cgit v1.2.1