diff options
author | Tianle Cheng <tianle.cheng@arm.com> | 2024-02-23 17:56:54 +0000 |
---|---|---|
committer | Kevin May <kevin.may@arm.com> | 2024-02-28 16:12:34 +0000 |
commit | 282881877522d3e94752dfc0839de9bfa0aa5a81 (patch) | |
tree | 9cd11c96eb4c179e76f2e586d5a9d9b416dd85a0 /src/backends/backendsCommon/WorkloadFactory.cpp | |
parent | 2883a86c5a167aea3c736529bff5921ab6cbc99c (diff) | |
download | armnn-282881877522d3e94752dfc0839de9bfa0aa5a81.tar.gz |
IVGCVSW-8229 & IVGCVSW-8237 ScatterNd: Front end and reference implementation
(scatter_nd, scatter_nd_add, and scatter_nd_update, scatter_nd_sub, scatter_nd_min, scatter_nd_max, scatter_nd_mul)
* Front end support for ScatterNd added.
* Reference implementation for ScatterNd added.
* Unit tests added.
Signed-off-by: Tianle Cheng <tianle.cheng@arm.com>
Change-Id: I30da9056d9b03ca9b5fb8d09987341128badbcf4
Diffstat (limited to 'src/backends/backendsCommon/WorkloadFactory.cpp')
-rw-r--r-- | src/backends/backendsCommon/WorkloadFactory.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/backends/backendsCommon/WorkloadFactory.cpp b/src/backends/backendsCommon/WorkloadFactory.cpp index 1f8d4dae1d..b81e9c8e73 100644 --- a/src/backends/backendsCommon/WorkloadFactory.cpp +++ b/src/backends/backendsCommon/WorkloadFactory.cpp @@ -1168,6 +1168,23 @@ bool IWorkloadFactory::IsLayerConfigurationSupported(const BackendId& backendId, reason); break; } + case LayerType::ScatterNd: + { + auto cLayer = PolymorphicDowncast<const ScatterNdLayer*>(&layer); + const TensorInfo& input = layer.GetInputSlot(0).GetTensorInfo(); + const TensorInfo& indices = layer.GetInputSlot(1).GetTensorInfo(); + const TensorInfo& updates = layer.GetInputSlot(2).GetTensorInfo(); + const TensorInfo& output = layer.GetOutputSlot(0).GetTensorInfo(); + + result = layerSupportObject.IsScatterNdSupported(OverrideDataType(input, dataType), + OverrideDataType(indices, dataType), + OverrideDataType(updates, dataType), + OverrideDataType(output, dataType), + cLayer->GetParameters(), + reason); + + break; + } case LayerType::Shape: { const TensorInfo& input = layer.GetInputSlot(0).GetTensorInfo(); |