aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/ClLayerSupport.cpp
diff options
context:
space:
mode:
authorAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-07-02 17:25:47 +0100
committerÁron Virginás-Tar <aron.virginas-tar@arm.com>2019-07-12 14:44:27 +0000
commitcc0cefb6ca2abf22fc0128548b93a492df530705 (patch)
tree3b87a05e2b83ee432a04b7c43f769e0a572a2a5c /src/backends/cl/ClLayerSupport.cpp
parent59c6670cac0aac1fedf426fb19ccd578da6f9f55 (diff)
downloadarmnn-cc0cefb6ca2abf22fc0128548b93a492df530705.tar.gz
IVGCVSW-3296 Add CL backend support for ResizeNearestNeighbour
Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> Change-Id: I7f4c722141837939fd8904c52e75704a15c8a5e3
Diffstat (limited to 'src/backends/cl/ClLayerSupport.cpp')
-rw-r--r--src/backends/cl/ClLayerSupport.cpp27
1 files changed, 11 insertions, 16 deletions
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<std::string&> 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<std::string&> 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,