diff options
author | Finn Williams <Finn.Williams@arm.com> | 2021-09-01 18:06:04 +0100 |
---|---|---|
committer | Jim Flynn <jim.flynn@arm.com> | 2021-09-15 11:23:05 +0000 |
commit | f37b970ff96b98310309e78aeea8a2e9df27b15a (patch) | |
tree | 73f1e3db6552649ac57901fd3df7fadc9742385e /src/armnn/Runtime.cpp | |
parent | fc8d434bb318aebb433a2f6d8ce9c066cd9c1b1e (diff) | |
download | armnn-f37b970ff96b98310309e78aeea8a2e9df27b15a.tar.gz |
IVGCVSW-6312 Support pre-importing inputs
Signed-off-by: Finn Williams <Finn.Williams@arm.com>
Change-Id: Ifc5e6f2e36767cb2a5cbf281d40ec9989b581abc
Diffstat (limited to 'src/armnn/Runtime.cpp')
-rw-r--r-- | src/armnn/Runtime.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/armnn/Runtime.cpp b/src/armnn/Runtime.cpp index bbcbb9f6f6..085cf2cee8 100644 --- a/src/armnn/Runtime.cpp +++ b/src/armnn/Runtime.cpp @@ -76,6 +76,12 @@ TensorInfo IRuntime::GetOutputTensorInfo(NetworkId networkId, LayerBindingId lay return pRuntimeImpl->GetOutputTensorInfo(networkId, layerId); } +std::vector<ImportedInputId> IRuntime::ImportInputs(NetworkId networkId, const InputTensors& inputTensors) +{ + return pRuntimeImpl->ImportInputs(networkId, inputTensors); +} + + Status IRuntime::EnqueueWorkload(NetworkId networkId, const InputTensors& inputTensors, const OutputTensors& outputTensors) @@ -85,9 +91,10 @@ Status IRuntime::EnqueueWorkload(NetworkId networkId, Status IRuntime::Execute(IWorkingMemHandle& workingMemHandle, const InputTensors& inputTensors, - const OutputTensors& outputTensors) + const OutputTensors& outputTensors, + std::vector<ImportedInputId> preImportedInputs) { - return pRuntimeImpl->Execute(workingMemHandle, inputTensors, outputTensors); + return pRuntimeImpl->Execute(workingMemHandle, inputTensors, outputTensors, preImportedInputs); } Status IRuntime::UnloadNetwork(NetworkId networkId) @@ -476,6 +483,12 @@ TensorInfo RuntimeImpl::GetOutputTensorInfo(NetworkId networkId, LayerBindingId return GetLoadedNetworkPtr(networkId)->GetOutputTensorInfo(layerId); } +std::vector<ImportedInputId> RuntimeImpl::ImportInputs(NetworkId networkId, const InputTensors& inputTensors) +{ + return GetLoadedNetworkPtr(networkId)->ImportInputs(inputTensors); +} + + Status RuntimeImpl::EnqueueWorkload(NetworkId networkId, const InputTensors& inputTensors, @@ -512,7 +525,8 @@ Status RuntimeImpl::EnqueueWorkload(NetworkId networkId, Status RuntimeImpl::Execute(IWorkingMemHandle& iWorkingMemHandle, const InputTensors& inputTensors, - const OutputTensors& outputTensors) + const OutputTensors& outputTensors, + std::vector<ImportedInputId> preImportedInputs) { NetworkId networkId = iWorkingMemHandle.GetNetworkId(); LoadedNetwork* loadedNetwork = GetLoadedNetworkPtr(networkId); @@ -531,7 +545,7 @@ Status RuntimeImpl::Execute(IWorkingMemHandle& iWorkingMemHandle, ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "Execute"); - return loadedNetwork->Execute(inputTensors, outputTensors, iWorkingMemHandle); + return loadedNetwork->Execute(inputTensors, outputTensors, iWorkingMemHandle, preImportedInputs); } /// Create a new unique WorkingMemHandle object. Create multiple handles if you wish to have |