xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/MemImportWorkload.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include <ResolveType.hpp>
7 
8 #include <backendsCommon/MemImportWorkload.hpp>
9 #include <armnn/backends/TensorHandle.hpp>
10 
11 #include <cstring>
12 
13 namespace armnn
14 {
15 
ImportMemGenericWorkload(const MemImportQueueDescriptor & descriptor,const WorkloadInfo & info)16 ImportMemGenericWorkload::ImportMemGenericWorkload(const MemImportQueueDescriptor& descriptor,
17                                                    const WorkloadInfo& info)
18     : BaseWorkload<MemImportQueueDescriptor>(descriptor, info)
19 {
20     m_TensorHandlePairs = std::make_pair(descriptor.m_Inputs[0], descriptor.m_Outputs[0]);
21 }
22 
Execute() const23 void ImportMemGenericWorkload::Execute() const
24 {
25     ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "ImportMemGeneric_Execute");
26 
27     m_TensorHandlePairs.second->Import(const_cast<void*>(m_TensorHandlePairs.first->Map(true)), MemorySource::Malloc);
28     m_TensorHandlePairs.first->Unmap();
29 }
30 
31 } //namespace armnn
32