From 8599a415c159aa867db12853b3195f0f0a51ee6b Mon Sep 17 00:00:00 2001 From: Nikhil Raj Date: Mon, 19 Nov 2018 14:51:07 +0000 Subject: 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 --- src/backends/backendsCommon/WorkloadData.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/backends/backendsCommon/WorkloadData.cpp') diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index e1146543ff..18ab4a8709 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -390,6 +390,16 @@ void MergerQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const throw InvalidArgumentException("MergerQueueDescriptor: At least one TensorInfo output needs to be provided."); } + if(m_Parameters.GetConcatAxis() > workloadInfo.m_InputTensorInfos[0].GetShape().GetNumDimensions()) + { + throw InvalidArgumentException("Invalid Concatenation Axis provided"); + } + + if (workloadInfo.m_InputTensorInfos[0].GetShape().GetNumDimensions() - m_Parameters.GetConcatAxis() == 1) + { + return; + } + if (workloadInfo.m_InputTensorInfos.size() != m_ViewOrigins.size()) { throw InvalidArgumentException( -- cgit v1.2.1