From a0ae8d2e6c57fd95c0edaf659b9df8b8c540d051 Mon Sep 17 00:00:00 2001 From: Gunes Bayir Date: Mon, 12 Dec 2022 17:47:49 +0000 Subject: Optimize Transposed Convolution for CL backend (Quantized) This patch optimizes transposed convolution for QASYMM and QASYMM8_SIGNED types, by extending the transposed convolution kernel written for FP32/16. Resolves: COMPMID-5723 Change-Id: Iab8f09231938adb949c506fd915ed45b885e5c7c Signed-off-by: Gunes Bayir Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/8792 Tested-by: Arm Jenkins Reviewed-by: Gian Marco Iodice Comments-Addressed: Arm Jenkins Benchmark: Arm Jenkins --- src/runtime/CL/functions/CLDeconvolutionLayer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/runtime/CL/functions') diff --git a/src/runtime/CL/functions/CLDeconvolutionLayer.cpp b/src/runtime/CL/functions/CLDeconvolutionLayer.cpp index a4db6d7770..ea7f3e75f7 100644 --- a/src/runtime/CL/functions/CLDeconvolutionLayer.cpp +++ b/src/runtime/CL/functions/CLDeconvolutionLayer.cpp @@ -141,14 +141,14 @@ DeconvolutionMethod CLDeconvolutionLayer::get_deconvolution_method(const ITensor { ARM_COMPUTE_UNUSED(output, bias, weights_info); - if(input->data_layout() == DataLayout::NHWC && (input->data_type() == DataType::F32 || input->data_type() == DataType::F16)) + if(is_data_type_quantized_per_channel(weights->data_type())) { - return DeconvolutionMethod::DIRECT; + return DeconvolutionMethod::UPSCALE_CONV2D; } - if(is_data_type_quantized_per_channel(weights->data_type())) + if(input->data_layout() == DataLayout::NHWC) { - return DeconvolutionMethod::UPSCALE_CONV2D; + return DeconvolutionMethod::DIRECT; } const DataLayout data_layout = input->data_layout(); -- cgit v1.2.1