From bab8fa9a11cf3bfef4b72fb757b81575b6fd75f0 Mon Sep 17 00:00:00 2001 From: Ryan OShea Date: Wed, 9 Mar 2022 10:29:02 +0000 Subject: IVGCVSW-6174 Add Cl Pooling3d Workload * Add IsSupported for Pooling3d * Add CreateWorkload case for Pooling3d * Create new ClPooling3dWorkload header and source files * Add Pooling3d workload to ClWorkloads.hpp * Add tests for Pooling3d workload * Add Pooling3d build function to ArmComputeTensorUtils Change-Id: Ia270b0fe809a171ed73af14376de8708b346d500 Signed-off-by: Ryan OShea --- src/backends/cl/ClLayerSupport.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/backends/cl/ClLayerSupport.cpp') diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp index e52f578bc0..4dcaca9576 100644 --- a/src/backends/cl/ClLayerSupport.cpp +++ b/src/backends/cl/ClLayerSupport.cpp @@ -59,6 +59,7 @@ #include "workloads/ClPadWorkload.hpp" #include "workloads/ClPermuteWorkload.hpp" #include "workloads/ClPooling2dWorkload.hpp" +#include "workloads/ClPooling3dWorkload.hpp" #include "workloads/ClPreluWorkload.hpp" #include "workloads/ClQLstmWorkload.hpp" #include "workloads/ClQuantizedLstmWorkload.hpp" @@ -449,6 +450,11 @@ bool ClLayerSupport::IsLayerSupported(const LayerType& type, infos[1], *(PolymorphicDowncast(&descriptor)), reasonIfUnsupported); + case LayerType::Pooling3d: + return IsPooling3dSupported(infos[0], + infos[1], + *(PolymorphicDowncast(&descriptor)), + reasonIfUnsupported); case LayerType::Prelu: return IsPreluSupported(infos[0], infos[1], infos[2], reasonIfUnsupported); case LayerType::QLstm: @@ -1194,6 +1200,14 @@ bool ClLayerSupport::IsPooling2dSupported(const TensorInfo& input, FORWARD_WORKLOAD_VALIDATE_FUNC(ClPooling2dWorkloadValidate, reasonIfUnsupported, input, output, descriptor); } +bool ClLayerSupport::IsPooling3dSupported(const TensorInfo& input, + const TensorInfo& output, + const Pooling3dDescriptor& descriptor, + Optional reasonIfUnsupported) const +{ + FORWARD_WORKLOAD_VALIDATE_FUNC(ClPooling3dWorkloadValidate, reasonIfUnsupported, input, output, descriptor); +} + bool ClLayerSupport::IsPreluSupported(const armnn::TensorInfo &input, const armnn::TensorInfo &alpha, const armnn::TensorInfo &output, -- cgit v1.2.1