diff options
Diffstat (limited to 'src/armnn/Runtime.cpp')
-rw-r--r-- | src/armnn/Runtime.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index 8a7023ed76..e84cbe0a60 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -195,11 +195,23 @@ TensorInfo Runtime::GetOutputTensorInfo(NetworkId networkId, LayerBindingId laye return GetLoadedNetworkPtr(networkId)->GetOutputTensorInfo(layerId); } + Status Runtime::EnqueueWorkload(NetworkId networkId, const InputTensors& inputTensors, const OutputTensors& outputTensors) { LoadedNetwork* loadedNetwork = GetLoadedNetworkPtr(networkId); + + static thread_local NetworkId lastId = networkId; + if (lastId != networkId) + { + LoadedNetworkFuncSafe(lastId, [](LoadedNetwork* network) + { + network->FreeWorkingMemory(); + }); + } + lastId=networkId; + return loadedNetwork->EnqueueWorkload(inputTensors, outputTensors); } |