diff options
author | Finn Williams <Finn.Williams@arm.com> | 2021-04-26 12:06:34 +0100 |
---|---|---|
committer | finn.williams <finn.williams@arm.com> | 2021-04-28 11:39:10 +0000 |
commit | 01097941ef85073c56cbd1d5f00d7e8ffeb9876d (patch) | |
tree | 818686d467b142084e0e49bbd4084670d1d0d50b /src/backends/reference/workloads/RefStackWorkload.cpp | |
parent | c2b99a8783388ec3bd90dfed2e1b6d4f4d4bd1c8 (diff) | |
download | armnn-01097941ef85073c56cbd1d5f00d7e8ffeb9876d.tar.gz |
IVGCVSW-5843 Separate memory managers for WorkingMemHandles
* Add inter layer memory management to WorkingMemHandle
* Change Const layers to be executed once in loadedNetworkConstruction
and share tensorHandle between all WorkingMemHandles
* Fix various reference workloads pointing to memory in the queueDescriptor
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: I69d4b3c5c84d2f5abe4540c3e624ab4f00d88226
Diffstat (limited to 'src/backends/reference/workloads/RefStackWorkload.cpp')
-rw-r--r-- | src/backends/reference/workloads/RefStackWorkload.cpp | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/src/backends/reference/workloads/RefStackWorkload.cpp b/src/backends/reference/workloads/RefStackWorkload.cpp index 20cf3b38f5..31949e967e 100644 --- a/src/backends/reference/workloads/RefStackWorkload.cpp +++ b/src/backends/reference/workloads/RefStackWorkload.cpp @@ -32,26 +32,6 @@ void RefStackWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<I { ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefStackWorkload_Execute"); - // Can perform a simple concatenation when axis == 0 - if (!m_Data.m_Parameters.m_Axis) - { - float* output = GetOutputTensorData<float>(0, m_Data); - ARMNN_ASSERT(output != nullptr); - - unsigned int numInputs = m_Data.m_Parameters.m_NumInputs; - unsigned int inputLength = GetTensorInfo(inputs[0]).GetNumElements(); - - for (unsigned int inputIdx=0; inputIdx<numInputs; ++inputIdx) - { - const float* input = GetInputTensorData<float>(inputIdx, m_Data); - for (unsigned int elmt=0; elmt<inputLength; ++elmt) - { - output[(inputIdx * inputLength) + elmt] = input[elmt]; - } - } - return; - } - std::vector<std::unique_ptr<Decoder<float>>> inputDecoders; for (unsigned int i=0; i<inputs.size(); ++i) { |