aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/MemCopyWorkload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/backends/backendsCommon/MemCopyWorkload.cpp')
-rw-r--r--src/backends/backendsCommon/MemCopyWorkload.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/MemCopyWorkload.cpp b/src/backends/backendsCommon/MemCopyWorkload.cpp
index 7bdc05e4a2..813adefed7 100644
--- a/src/backends/backendsCommon/MemCopyWorkload.cpp
+++ b/src/backends/backendsCommon/MemCopyWorkload.cpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
@@ -40,7 +40,7 @@ void GatherTensorHandlePairs(const MemCopyQueueDescriptor& descriptor,
CopyMemGenericWorkload::CopyMemGenericWorkload(const MemCopyQueueDescriptor& descriptor,
- const WorkloadInfo& info)
+ const WorkloadInfo& info)
: BaseWorkload<MemCopyQueueDescriptor>(descriptor, info)
{
GatherTensorHandlePairs(descriptor, m_TensorHandlePairs);
@@ -61,4 +61,21 @@ void CopyMemGenericWorkload::Execute() const
}
}
+void CopyMemGenericWorkload::ExecuteAsync(WorkingMemDescriptor& descriptor)
+{
+ ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "CopyMemGeneric_Execute_WorkingMemDescriptor");
+ std::vector<TensorHandlePair> tensorHandlePairs;
+ GatherTensorHandlePairs(descriptor, tensorHandlePairs);
+
+ auto copyFunc = [](void* dst, const void* src, size_t size)
+ {
+ memcpy(dst, src, size);
+ };
+
+ for (const auto& pair : tensorHandlePairs)
+ {
+ CopyTensorContentsGeneric(pair.first, pair.second, copyFunc);
+ }
+}
+
} //namespace armnn