diff options
author | Finn Williams <finn.williams@arm.com> | 2021-10-28 19:07:32 +0100 |
---|---|---|
committer | Finn Williams <finn.williams@arm.com> | 2021-11-08 14:33:17 +0000 |
commit | b1aad4270fa8ad5c4aa62e27d564baf723b2cee5 (patch) | |
tree | 98b19ba85b50e2c730d5d2e3822cd2b1438bd149 /src/armnn/Network.cpp | |
parent | 3f22d27f51c493e37b9da0692b6bf776f4430dcf (diff) | |
download | armnn-b1aad4270fa8ad5c4aa62e27d564baf723b2cee5.tar.gz |
IVGCVSW-6527 Support the new memory API in loaded network
* enable external memory management for neon and ref backends
* change m_TensorMemoryVector to hold shared pointers
* change input layer backend Id to match backend id of connected layer
Signed-off-by: Finn Williams <finn.williams@arm.com>
Change-Id: I2216a724028312eb101b290df3f224177826b1a0
Diffstat (limited to 'src/armnn/Network.cpp')
-rw-r--r-- | src/armnn/Network.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp index e00dbfc0fc..17a1da1f6c 100644 --- a/src/armnn/Network.cpp +++ b/src/armnn/Network.cpp @@ -934,6 +934,11 @@ OptimizationResult AssignBackends(OptimizedNetworkImpl* optNetObjPtr, { auto layer = *it; + if (layer->GetType() == LayerType::Input) + { + continue; + } + DataType dataTypeIn = layer->GetNumInputSlots() == 0 ? DataType::Float32 : layer->GetInputSlot(0).GetConnectedOutputSlot()->GetTensorInfo().GetDataType(); DataType dataTypeOut = layer->GetNumOutputSlots() == 0 ? DataType::Float32 : @@ -1027,6 +1032,17 @@ OptimizationResult AssignBackends(OptimizedNetworkImpl* optNetObjPtr, } } + for (auto it = firstLayer; it != lastLayer; ++it) + { + auto layer = *it; + + if(layer->GetType() == LayerType::Input) + { + BackendId connectedBackendId = layer->GetOutputSlot(0).GetConnection(0)->GetOwningLayer().GetBackendId(); + layer->SetBackendId(connectedBackendId); + } + } + return result; } |