From cc0cefb6ca2abf22fc0128548b93a492df530705 Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Tue, 2 Jul 2019 17:25:47 +0100 Subject: IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbour Signed-off-by: Aron Virginas-Tar Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3 --- src/backends/cl/ClLayerSupport.cpp | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'src/backends/cl/ClLayerSupport.cpp') diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index 6d9b197679..7eb1dcf39a 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -40,6 +40,7 @@ #include "workloads/ClPermuteWorkload.hpp" #include "workloads/ClPooling2dWorkload.hpp" #include "workloads/ClPreluWorkload.hpp" +#include "workloads/ClResizeWorkload.hpp" #include "workloads/ClQuantizeWorkload.hpp" #include "workloads/ClSoftmaxBaseWorkload.hpp" #include "workloads/ClSpaceToBatchNdWorkload.hpp" @@ -570,28 +571,22 @@ bool ClLayerSupport::IsResizeSupported(const TensorInfo& input, const ResizeDescriptor& descriptor, Optional reasonIfUnsupported) const { - ignore_unused(output); - - if (descriptor.m_Method == ResizeMethod::Bilinear) - { - return IsSupportedForDataTypeCl(reasonIfUnsupported, - input.GetDataType(), - &TrueFunc<>, - &FalseFuncU8<>); - } - - return false; + FORWARD_WORKLOAD_VALIDATE_FUNC(ClResizeWorkloadValidate, reasonIfUnsupported, input, output, descriptor); } bool ClLayerSupport::IsResizeBilinearSupported(const TensorInfo& input, const TensorInfo& output, Optional reasonIfUnsupported) const { - ignore_unused(output); - return IsSupportedForDataTypeCl(reasonIfUnsupported, - input.GetDataType(), - &TrueFunc<>, - &FalseFuncU8<>); + ResizeDescriptor descriptor; + descriptor.m_Method = ResizeMethod::Bilinear; + descriptor.m_DataLayout = DataLayout::NCHW; + + const TensorShape& outputShape = output.GetShape(); + descriptor.m_TargetHeight = outputShape[2]; + descriptor.m_TargetWidth = outputShape[3]; + + return IsResizeSupported(input, output, descriptor, reasonIfUnsupported); } bool ClLayerSupport::IsSoftmaxSupported(const TensorInfo& input, -- cgit v1.2.1