aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2020-06-10 15:53:46 +0100
committerFinn Williams <Finn.Williams@arm.com>2020-07-06 21:50:50 +0100
commit2605b236d103e1ba27069e0d668599042a4761af (patch)
treedc0a408acb5749a1f51544fd5857452377d05aab /src/backends/reference/workloads
parentc5789ca2e432075e2c92e7e0d99139c5329280e6 (diff)
downloadarmnn-2605b236d103e1ba27069e0d668599042a4761af.tar.gz
IVGCVSW-4624 Add a RANK Reference Implementation
* Add Rank front end * Add Rank reference implementation * Add Rank serialization support * Add Scalar serialization support Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I06e4a468c2a84e79bae2e6c5348596bbbf853b4b
Diffstat (limited to 'src/backends/reference/workloads')
-rw-r--r--src/backends/reference/workloads/CMakeLists.txt3
-rw-r--r--src/backends/reference/workloads/RefRankWorkload.hpp32
-rw-r--r--src/backends/reference/workloads/RefWorkloads.hpp3
3 files changed, 36 insertions, 2 deletions
diff --git a/src/backends/reference/workloads/CMakeLists.txt b/src/backends/reference/workloads/CMakeLists.txt
index d51db365cc..937a32029e 100644
--- a/src/backends/reference/workloads/CMakeLists.txt
+++ b/src/backends/reference/workloads/CMakeLists.txt
@@ -1,5 +1,5 @@
#
-# Copyright © 2017 Arm Ltd. All rights reserved.
+# Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#
@@ -129,6 +129,7 @@ list(APPEND armnnRefBackendWorkloads_sources
RefQuantizeWorkload.hpp
RefQLstmWorkload.cpp
RefQLstmWorkload.hpp
+ RefRankWorkload.hpp
RefReshapeWorkload.cpp
RefReshapeWorkload.hpp
RefResizeBilinearWorkload.cpp
diff --git a/src/backends/reference/workloads/RefRankWorkload.hpp b/src/backends/reference/workloads/RefRankWorkload.hpp
new file mode 100644
index 0000000000..780d3be533
--- /dev/null
+++ b/src/backends/reference/workloads/RefRankWorkload.hpp
@@ -0,0 +1,32 @@
+//
+// Copyright © 2020 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+#include <backendsCommon/Workload.hpp>
+#include <backendsCommon/WorkloadData.hpp>
+
+#include "RefWorkloadUtils.hpp"
+
+namespace armnn
+{
+
+struct RefRankWorkload : public BaseWorkload<RankQueueDescriptor>
+{
+public:
+ using BaseWorkload<RankQueueDescriptor>::BaseWorkload;
+ virtual void Execute() const override
+ {
+ const int32_t rank = static_cast<int32_t>(GetTensorInfo(m_Data.m_Inputs[0]).GetNumDimensions());
+
+ std::memcpy(GetOutputTensorData<void>(0, m_Data), &rank, sizeof(int32_t));
+ }
+};
+
+} //namespace armnn
+
+
+
+
diff --git a/src/backends/reference/workloads/RefWorkloads.hpp b/src/backends/reference/workloads/RefWorkloads.hpp
index 951e3a1e29..fc47cff84f 100644
--- a/src/backends/reference/workloads/RefWorkloads.hpp
+++ b/src/backends/reference/workloads/RefWorkloads.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -51,6 +51,7 @@
#include "RefPreluWorkload.hpp"
#include "RefQLstmWorkload.hpp"
#include "RefQuantizeWorkload.hpp"
+#include "RefRankWorkload.hpp"
#include "RefReshapeWorkload.hpp"
#include "RefResizeBilinearWorkload.hpp"
#include "RefResizeWorkload.hpp"