aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/NEON/functions/NEConcatenateLayer.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2020-07-31 22:21:38 +0100
committerMichalis Spyrou <michalis.spyrou@arm.com>2020-08-05 09:13:13 +0000
commit0499dff9293a86d3d53f72fed0a38b2823563674 (patch)
treebb76735e53f46cc8e362a7b528e549cdc7a2e346 /src/runtime/NEON/functions/NEConcatenateLayer.cpp
parentac4c03042d7a3020f87cea641e69aa38a684ddd7 (diff)
downloadComputeLibrary-0499dff9293a86d3d53f72fed0a38b2823563674.tar.gz
COMPMID-3392: Collapse TensorMaps into a single TensorPack
Collapse InputTensorMap and OutputTensorMap to a single TensorPack mechanism. Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: Ie2fdfc6b07d84ad589169ec99ca64fcf45a00bec Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/c/VisualCompute/ComputeLibrary/+/253783 Tested-by: bsgcomp <bsgcomp@arm.com> Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com> Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3641 Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: SiCong Li <sicong.li@arm.com> Reviewed-by: Sheri Zhang <sheri.zhang@arm.com>
Diffstat (limited to 'src/runtime/NEON/functions/NEConcatenateLayer.cpp')
-rw-r--r--src/runtime/NEON/functions/NEConcatenateLayer.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/runtime/NEON/functions/NEConcatenateLayer.cpp b/src/runtime/NEON/functions/NEConcatenateLayer.cpp
index 9f8a2a1b8e..8df4f4cb62 100644
--- a/src/runtime/NEON/functions/NEConcatenateLayer.cpp
+++ b/src/runtime/NEON/functions/NEConcatenateLayer.cpp
@@ -146,16 +146,14 @@ Status NEConcatenation::validate(const std::vector<const ITensorInfo *> &inputs_
return Status{};
}
-void NEConcatenation::run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace)
+void NEConcatenation::run(ITensorPack &tensors)
{
- ARM_COMPUTE_UNUSED(workspace);
-
- if(inputs.empty() || outputs.empty())
+ if(tensors.empty())
{
ARM_COMPUTE_ERROR("No inputs provided");
}
- if(inputs.size() != _num_inputs)
+ if(static_cast<int>(tensors.size() - 1) != static_cast<int>(_num_inputs))
{
ARM_COMPUTE_ERROR("Configured with different number of inputs");
}
@@ -163,8 +161,10 @@ void NEConcatenation::run(InputTensorMap inputs, OutputTensorMap outputs, Operat
int i = 0;
for(auto &k : _concat_kernels)
{
- const InputTensorMap input = { { TensorType::ACL_SRC, inputs.at(ACL_SRC_VEC + i) } };
- NEScheduler::get().schedule_op(k.get(), Window::DimY, input, outputs);
+ ITensorPack pack;
+ pack.add_tensor(TensorType::ACL_SRC, tensors.get_const_tensor(ACL_SRC_VEC + i));
+ pack.add_tensor(TensorType::ACL_DST, tensors.get_tensor(ACL_DST));
+ NEScheduler::get().schedule_op(k.get(), Window::DimY, pack);
++i;
}
}
@@ -216,13 +216,13 @@ Status NEConcatenateLayer::validate(const std::vector<const ITensorInfo *> &inpu
void NEConcatenateLayer::run()
{
- InputTensorMap srcs;
+ ITensorPack pack;
for(unsigned i = 0; i < _impl->num_inputs; ++i)
{
- srcs.insert(std::make_pair(TensorType::ACL_SRC_VEC + i, _impl->srcs.at(i)));
+ pack.add_tensor(TensorType::ACL_SRC_VEC + i, _impl->srcs.at(i));
}
- const OutputTensorMap dst{ { TensorType::ACL_DST, _impl->dst } };
+ pack.add_tensor(TensorType::ACL_DST, _impl->dst);
- _impl->op->run(srcs, dst, {});
+ _impl->op->run(pack);
}
} // namespace arm_compute