aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads/NeonMergerWorkload.hpp
diff options
context:
space:
mode:
authorNikhil Raj <nikhil.raj@arm.com>2018-11-19 14:51:07 +0000
committerNikhil Raj <nikhil.raj@arm.com>2018-11-19 14:51:07 +0000
commit8599a415c159aa867db12853b3195f0f0a51ee6b (patch)
treef85987c71dc745d7da7c672466723c26e39290b6 /src/backends/neon/workloads/NeonMergerWorkload.hpp
parent1d67a6905daed13354e66f00549e12fea62170ed (diff)
downloadarmnn-8599a415c159aa867db12853b3195f0f0a51ee6b.tar.gz
IVGCVSW-2043 - Merger using ACL for innermost concat axis
* Add ClMergerWorkload and NeonMergerWorkload to call ACL for innermost concat axis * Modify layer support to call ClMergerWorkloadValidate and NeonMergerWorkloadValidate when concat axis is inner most * Add m_ConcatAxis to MergerDescriptor * Modify MergerQueueDescriptor::Validate to check sub tensor only when using subtensor !android-nn-driver:166 Change-Id: I56676b43964c8d6d726387b41b3cc34a512c0f0a
Diffstat (limited to 'src/backends/neon/workloads/NeonMergerWorkload.hpp')
-rw-r--r--src/backends/neon/workloads/NeonMergerWorkload.hpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/backends/neon/workloads/NeonMergerWorkload.hpp b/src/backends/neon/workloads/NeonMergerWorkload.hpp
index 7103d8a469..a4f36d18bc 100644
--- a/src/backends/neon/workloads/NeonMergerWorkload.hpp
+++ b/src/backends/neon/workloads/NeonMergerWorkload.hpp
@@ -6,18 +6,26 @@
#pragma once
#include <backendsCommon/Workload.hpp>
+#include <neon/workloads/NeonWorkloadUtils.hpp>
namespace armnn
{
+arm_compute::Status NeonMergerWorkloadValidate(const std::vector<const TensorInfo*>& inputs,
+ const TensorInfo& output,
+ const MergerDescriptor& descriptor);
+
class NeonMergerWorkload : public BaseWorkload<MergerQueueDescriptor>
{
public:
+ NeonMergerWorkload(const MergerQueueDescriptor& descriptor, const WorkloadInfo& info);
+
using BaseWorkload<MergerQueueDescriptor>::BaseWorkload;
+ void Execute() const override;
+
+private:
+ mutable arm_compute::NEConcatenateLayer m_Layer;
+ bool m_Execute;
- virtual void Execute() const override
- {
- // With subtensors, merger is a no-op.
- }
};
} //namespace armnn