aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/MemCopyWorkload.cpp
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2022-06-30 17:13:04 +0100
committerMatthew Sloyan <matthew.sloyan@arm.com>2022-07-13 08:31:46 +0000
commit21a6a1a5b72907573eade6d232bfaf45a4c14c52 (patch)
treef4003d0a60e907937e04d96fc434c0bfac596f86 /src/backends/backendsCommon/MemCopyWorkload.cpp
parent8b0bee159b970c2aaffcdd22fa61c4106b5607e3 (diff)
downloadarmnn-21a6a1a5b72907573eade6d232bfaf45a4c14c52.tar.gz
IVGCVSW-6620 Update the async api to use ExecutionData
* ExecutionData holds a void* which can be assigned to data required for execution in a backend. WorkingMemDescriptors are used in the Ref backend which hold TensorHandles for inputs and outputs. * Updated ExecuteAsync functions to take ExecutionData. * Added CreateExecutionData and UpdateExectutionData to IBackendInternal. * Streamlined experimental IWorkingMemHandle API by removing map related function and unused m_workingMemDescriptorMap from WorkingMemHandle. Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com> Change-Id: I54b0aab12872011743a141eb42dae200227769af
Diffstat (limited to 'src/backends/backendsCommon/MemCopyWorkload.cpp')
-rw-r--r--src/backends/backendsCommon/MemCopyWorkload.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/backends/backendsCommon/MemCopyWorkload.cpp b/src/backends/backendsCommon/MemCopyWorkload.cpp
index 09d0e6c7d1..3e0782aa80 100644
--- a/src/backends/backendsCommon/MemCopyWorkload.cpp
+++ b/src/backends/backendsCommon/MemCopyWorkload.cpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -63,11 +63,14 @@ void CopyMemGenericWorkload::Execute() const
}
}
-void CopyMemGenericWorkload::ExecuteAsync(WorkingMemDescriptor& descriptor)
+void CopyMemGenericWorkload::ExecuteAsync(ExecutionData& executionData)
{
ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "CopyMemGeneric_Execute_WorkingMemDescriptor");
+
+ WorkingMemDescriptor* workingMemDescriptor = static_cast<WorkingMemDescriptor*>(executionData.m_Data);
std::vector<TensorHandlePair> tensorHandlePairs;
- GatherTensorHandlePairs(descriptor, tensorHandlePairs);
+
+ GatherTensorHandlePairs(*workingMemDescriptor, tensorHandlePairs);
auto copyFunc = [](void* dst, const void* src, size_t size)
{