diff options
author | Michele Di Giorgio <michele.digiorgio@arm.com> | 2019-10-08 09:36:26 +0100 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2019-10-15 10:27:18 +0000 |
commit | a046e164b96a8441b2fa14ef578f7db46a0e97da (patch) | |
tree | 9fa2b7e003342b608acd3ed627f47f9d027ef72c /src/runtime/CL/tuners | |
parent | 76c996f3b240eb1f60a566e5b0a5e61fe363685a (diff) | |
download | ComputeLibrary-a046e164b96a8441b2fa14ef578f7db46a0e97da.tar.gz |
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 <michele.digiorgio@arm.com>
Reviewed-on: https://review.mlplatform.org/c/2056
Reviewed-by: Giorgio Arena <giorgio.arena@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Diffstat (limited to 'src/runtime/CL/tuners')
-rw-r--r-- | src/runtime/CL/tuners/BifrostTuner.cpp | 24 |
1 files changed, 1 insertions, 23 deletions
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<CLIm2ColKernel *>(&kernel)); } - else if(dynamic_cast<CLDepthwiseIm2ColKernel *>(&kernel) != nullptr) - { - tune_depthwise_im2col_kernel(*utils::cast::polymorphic_downcast<CLDepthwiseIm2ColKernel *>(&kernel)); - } else if(dynamic_cast<CLGEMMMatrixVectorMultiplyKernel *>(&kernel) != nullptr) { tune_gemv_kernel(*utils::cast::polymorphic_downcast<CLGEMMMatrixVectorMultiplyKernel *>(&kernel)); |