From a046e164b96a8441b2fa14ef578f7db46a0e97da Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Tue, 8 Oct 2019 09:36:26 +0100 Subject: COMPMID-2600: Implement a new and generic depthwise convolution for CL QASYMM8 NHWC The NCHW case is supported at function level by permuting the inputs/outputs to NHWC. This patch also removes CLDirectConvolutionLayerOutputStageKernel which is deprecated and some kernels which were only used in the generic case of depthwise convolution. Change-Id: I91e0f02d0a2f4a4a352e08c248e648944137fe68 Signed-off-by: Michele Di Giorgio Reviewed-on: https://review.mlplatform.org/c/2056 Reviewed-by: Giorgio Arena Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Gian Marco Iodice --- src/runtime/CL/tuners/BifrostTuner.cpp | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) (limited to 'src/runtime/CL/tuners/BifrostTuner.cpp') diff --git a/src/runtime/CL/tuners/BifrostTuner.cpp b/src/runtime/CL/tuners/BifrostTuner.cpp index 187f52fcf7..5b23baaed3 100644 --- a/src/runtime/CL/tuners/BifrostTuner.cpp +++ b/src/runtime/CL/tuners/BifrostTuner.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -171,24 +171,6 @@ void tune_im2col_kernel(CLIm2ColKernel &k) k.set_lws_hint(lws_hint); } -void tune_depthwise_im2col_kernel(CLDepthwiseIm2ColKernel &k) -{ - cl::NDRange lws_hint = k.lws_hint(); - const GPUTarget gpu_target = k.get_target(); - - // Configure the local work size for Bifrost with a value obtained - // via exhaustive autotuning for the MobileNets tensor shapes. - if(gpu_target_is_in(gpu_target, - GPUTarget::G71, GPUTarget::G72, GPUTarget::G76, - GPUTarget::G51, GPUTarget::G51BIG, GPUTarget::G51LIT, - GPUTarget::G52, GPUTarget::G52LIT)) - { - lws_hint = cl::NDRange(1, 2, 1); - } - - k.set_lws_hint(lws_hint); -} - void tune_gemv_kernel(CLGEMMMatrixVectorMultiplyKernel &k) { cl::NDRange lws_hint = k.lws_hint(); @@ -311,10 +293,6 @@ void BifrostTuner::tune_kernel_static(ICLKernel &kernel) { tune_im2col_kernel(*utils::cast::polymorphic_downcast(&kernel)); } - else if(dynamic_cast(&kernel) != nullptr) - { - tune_depthwise_im2col_kernel(*utils::cast::polymorphic_downcast(&kernel)); - } else if(dynamic_cast(&kernel) != nullptr) { tune_gemv_kernel(*utils::cast::polymorphic_downcast(&kernel)); -- cgit v1.2.1