aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadFactory.cpp
diff options
context:
space:
mode:
authorSadik Armagan <sadik.armagan@arm.com>2019-04-05 15:25:46 +0100
committerAron Virginas-Tar <Aron.Virginas-Tar@arm.com>2019-04-05 17:11:02 +0100
commiteff363d58992fb6384053259f9e1ee773f8cd4df (patch)
treee0bce8c4694ee15e016951f9168afbf9b75a9c79 /src/backends/backendsCommon/WorkloadFactory.cpp
parent1f88630874fe346cd0cca8d8e38e0fb96cc1a3f4 (diff)
downloadarmnn-eff363d58992fb6384053259f9e1ee773f8cd4df.tar.gz
IVGCVSW-2914 Add Switch Layer and no-op factory method
Change-Id: I6a6ece708a49e8a97c83a3e7fec11c88af1e1cfa Signed-off-by: Sadik Armagan <sadik.armagan@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadFactory.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp
index 4ea3ea9f9b..d9774b063d 100644
--- a/src/backends/backendsCommon/WorkloadFactory.cpp
+++ b/src/backends/backendsCommon/WorkloadFactory.cpp
@@ -729,6 +729,19 @@ bool IWorkloadFactory::IsLayerSupported(const BackendId& backendId,
reason);
break;
}
+ case LayerType::Switch:
+ {
+ const TensorInfo& input0 = layer.GetInputSlot(0).GetConnection()->GetTensorInfo();
+ const TensorInfo& input1 = layer.GetInputSlot(1).GetConnection()->GetTensorInfo();
+ const TensorInfo& output0 = layer.GetOutputSlot(0).GetTensorInfo();
+ const TensorInfo& output1 = layer.GetOutputSlot(1).GetTensorInfo();
+ result = layerSupportObject->IsSwitchSupported(OverrideDataType(input0, dataType),
+ OverrideDataType(input1, dataType),
+ OverrideDataType(output0, dataType),
+ OverrideDataType(output1, dataType),
+ reason);
+ break;
+ }
case LayerType::Mean:
{
auto cLayer = boost::polymorphic_downcast<const MeanLayer*>(&layer);
@@ -1041,4 +1054,10 @@ std::unique_ptr<IWorkload> IWorkloadFactory::CreateSubtraction(const Subtraction
return std::unique_ptr<IWorkload>();
}
+std::unique_ptr<IWorkload> IWorkloadFactory::CreateSwitch(const SwitchQueueDescriptor& descriptor,
+ const WorkloadInfo& info) const
+{
+ return std::unique_ptr<IWorkload>();
+}
+
}