aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/Splitter.cpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-04-07 10:23:21 +0100
committerFinn Williams <Finn.Williams@arm.com>2021-04-14 15:18:38 +0100
commitb8181f72b8c7c9132373dbcf7f8709ec2c0f23c0 (patch)
tree04cc91a6efb7e2601f80e4213a747938165b7184 /src/backends/reference/workloads/Splitter.cpp
parentb898222a8856475f0217be5e78b4816aa1914f15 (diff)
downloadarmnn-b8181f72b8c7c9132373dbcf7f8709ec2c0f23c0.tar.gz
IVGCVSW-5787 Add/Update Execute() implementations in RefActivationWorkload
* Added multithreaded StridedSliceEndToEndTest Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I4579db7b5959e0a22256f1bda00238c22e611dec
Diffstat (limited to 'src/backends/reference/workloads/Splitter.cpp')
-rw-r--r--src/backends/reference/workloads/Splitter.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/backends/reference/workloads/Splitter.cpp b/src/backends/reference/workloads/Splitter.cpp
index 09edc5e0f5..ed6d2b8fd8 100644
--- a/src/backends/reference/workloads/Splitter.cpp
+++ b/src/backends/reference/workloads/Splitter.cpp
@@ -18,12 +18,14 @@
namespace armnn
{
-void Split(const SplitterQueueDescriptor& data)
+void Split(const SplitterQueueDescriptor& data,
+ std::vector<ITensorHandle*> inputs,
+ std::vector<ITensorHandle*> outputs)
{
- const TensorInfo& inputInfo = GetTensorInfo(data.m_Inputs[0]);
+ const TensorInfo& inputInfo = GetTensorInfo(inputs[0]);
std::unique_ptr<Decoder<float>> decoderPtr =
- MakeDecoder<float>(inputInfo, data.m_Inputs[0]->Map());
+ MakeDecoder<float>(inputInfo, inputs[0]->Map());
Decoder<float>& decoder = *decoderPtr;
for (unsigned int index = 0; index < inputInfo.GetNumElements(); ++index)
@@ -45,7 +47,7 @@ void Split(const SplitterQueueDescriptor& data)
SplitterQueueDescriptor::ViewOrigin const& view = data.m_ViewOrigins[viewIdx];
//Split view extents are defined by the size of (the corresponding) input tensor.
- const TensorInfo& outputInfo = GetTensorInfo(data.m_Outputs[viewIdx]);
+ const TensorInfo& outputInfo = GetTensorInfo(outputs[viewIdx]);
ARMNN_ASSERT(outputInfo.GetNumDimensions() == inputInfo.GetNumDimensions());
// Check all dimensions to see if this element is inside the given input view.
@@ -65,7 +67,7 @@ void Split(const SplitterQueueDescriptor& data)
if (insideView)
{
std::unique_ptr<Encoder<float>> encoderPtr =
- MakeEncoder<float>(outputInfo, data.m_Outputs[viewIdx]->Map());
+ MakeEncoder<float>(outputInfo, outputs[viewIdx]->Map());
Encoder<float>& encoder = *encoderPtr;
unsigned int outIndex = 0;