aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl/workloads/ClMeanWorkload.hpp
diff options
context:
space:
mode:
authorMatteo Martincigh <matteo.martincigh@arm.com>2018-10-19 16:40:03 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-25 14:06:56 +0100
commit28dcab6c176a3938519809aa9da7321e4ede7623 (patch)
treef83cebcf0c89e9b9f9464292e14268b90c8cc628 /src/backends/cl/workloads/ClMeanWorkload.hpp
parent70104000ddcf3bc1a1d21f16d1468456ca17b80a (diff)
downloadarmnn-28dcab6c176a3938519809aa9da7321e4ede7623.tar.gz
IVGCVSW-2049 + IVGCVSW-2051 Create the CL Mean Float workload and add
the unit tests * Created the ClFloatWorkload class * Added ClMeanValidate validation function * Added helper function to convert the reduction axes from the ArmNN format to ACL's * Added workload tests * Added some unit tests * These changes need the CL pin to be pointing at least to revision 88d871028eeae57f9e4536d0329110eccb5e2890 (COMPMID-1574 Implement ReduceMean in OpenCL) !android-nn-driver:155033 Change-Id: I694fd36be0458c90e158172afde045fcc88c32ae
Diffstat (limited to 'src/backends/cl/workloads/ClMeanWorkload.hpp')
-rw-r--r--src/backends/cl/workloads/ClMeanWorkload.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/backends/cl/workloads/ClMeanWorkload.hpp b/src/backends/cl/workloads/ClMeanWorkload.hpp
new file mode 100644
index 0000000000..c9f0356e04
--- /dev/null
+++ b/src/backends/cl/workloads/ClMeanWorkload.hpp
@@ -0,0 +1,31 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <backends/Workload.hpp>
+
+#include <arm_compute/runtime/CL/CLFunctions.h>
+
+namespace armnn
+{
+
+arm_compute::Status ClMeanValidate(const TensorInfo& input,
+ const TensorInfo& output,
+ const MeanDescriptor& desc);
+
+class ClMeanWorkload : public BaseWorkload<MeanQueueDescriptor>
+{
+public:
+ ClMeanWorkload(const MeanQueueDescriptor& descriptor, const WorkloadInfo& info);
+
+ void Execute() const override;
+
+private:
+ // Not using CLMeanStdDev, as 4D input tensor support for Mean has been added to a new function called CLReduceMean.
+ mutable arm_compute::CLReduceMean m_Layer;
+};
+
+} //namespace armnn