aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads/NeonPooling3dWorkload.hpp
diff options
context:
space:
mode:
authorRyan OShea <ryan.oshea3@arm.com>2022-05-04 00:38:03 +0100
committerryan.oshea3 <ryan.oshea3@arm.com>2022-05-13 16:46:20 +0000
commit19e79420fa9f136352cce56b5650b47aa2e96de3 (patch)
treee6f0eb1907377ff78b6a905d028f394d7faa880e /src/backends/neon/workloads/NeonPooling3dWorkload.hpp
parent4452baf3d295164877c5810a3867b1d2d79b04f3 (diff)
downloadarmnn-19e79420fa9f136352cce56b5650b47aa2e96de3.tar.gz
IVGCVSW-6175 Add Pooling3d to Neon
* Add IsSupported for Pooling3d * Add CreateWorkload case for Pooling3d * Create new NeonPooling3dWorkload header and source files * Add Pooling3d workload to NeonWorkloads.hpp * Add float32 tests for Pooling3d workload * Add Uint8 tests for Cl and NE pooling3d Signed-off-by: Ryan OShea <ryan.oshea3@arm.com> Change-Id: Ic992e1233d1eb8db52df2c8446183df1c907bc4d
Diffstat (limited to 'src/backends/neon/workloads/NeonPooling3dWorkload.hpp')
-rw-r--r--src/backends/neon/workloads/NeonPooling3dWorkload.hpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/backends/neon/workloads/NeonPooling3dWorkload.hpp b/src/backends/neon/workloads/NeonPooling3dWorkload.hpp
new file mode 100644
index 0000000000..03453f1eee
--- /dev/null
+++ b/src/backends/neon/workloads/NeonPooling3dWorkload.hpp
@@ -0,0 +1,33 @@
+//
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include "NeonBaseWorkload.hpp"
+
+#include <arm_compute/runtime/NEON/functions/NEPooling3dLayer.h>
+
+namespace armnn
+{
+
+ arm_compute::Status NeonPooling3dWorkloadValidate(const TensorInfo& input,
+ const TensorInfo& output,
+ const Pooling3dDescriptor& descriptor);
+
+ class NeonPooling3dWorkload : public NeonBaseWorkload<Pooling3dQueueDescriptor>
+ {
+ public:
+ using BaseWorkload<Pooling3dQueueDescriptor>::m_Data;
+
+ NeonPooling3dWorkload(const Pooling3dQueueDescriptor& descriptor,
+ const WorkloadInfo& info);
+
+ void Execute() const override;
+
+ private:
+ std::unique_ptr<arm_compute::IFunction> m_PoolingLayer;
+ };
+
+} //namespace armnn