1*89c4ff92SAndroid Build Coastguard Worker // 2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2022 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker // 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Worker #include <ResolveType.hpp> 7*89c4ff92SAndroid Build Coastguard Worker 8*89c4ff92SAndroid Build Coastguard Worker #include <backendsCommon/MemSyncWorkload.hpp> 9*89c4ff92SAndroid Build Coastguard Worker #include <armnn/backends/TensorHandle.hpp> 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Worker #include <cstring> 12*89c4ff92SAndroid Build Coastguard Worker 13*89c4ff92SAndroid Build Coastguard Worker namespace armnn 14*89c4ff92SAndroid Build Coastguard Worker { 15*89c4ff92SAndroid Build Coastguard Worker SyncMemGenericWorkload(const MemSyncQueueDescriptor & descriptor,const WorkloadInfo & info)16*89c4ff92SAndroid Build Coastguard WorkerSyncMemGenericWorkload::SyncMemGenericWorkload(const MemSyncQueueDescriptor& descriptor, 17*89c4ff92SAndroid Build Coastguard Worker const WorkloadInfo& info) 18*89c4ff92SAndroid Build Coastguard Worker : BaseWorkload<MemSyncQueueDescriptor>(descriptor, info) 19*89c4ff92SAndroid Build Coastguard Worker { 20*89c4ff92SAndroid Build Coastguard Worker m_TensorHandle = descriptor.m_Inputs[0]; 21*89c4ff92SAndroid Build Coastguard Worker } 22*89c4ff92SAndroid Build Coastguard Worker Execute() const23*89c4ff92SAndroid Build Coastguard Workervoid SyncMemGenericWorkload::Execute() const 24*89c4ff92SAndroid Build Coastguard Worker { 25*89c4ff92SAndroid Build Coastguard Worker ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "SyncMemGeneric_Execute"); 26*89c4ff92SAndroid Build Coastguard Worker m_TensorHandle->Map(true); 27*89c4ff92SAndroid Build Coastguard Worker m_TensorHandle->Unmap(); 28*89c4ff92SAndroid Build Coastguard Worker } 29*89c4ff92SAndroid Build Coastguard Worker ExecuteAsync(ExecutionData & executionData)30*89c4ff92SAndroid Build Coastguard Workervoid SyncMemGenericWorkload::ExecuteAsync(ExecutionData& executionData) 31*89c4ff92SAndroid Build Coastguard Worker { 32*89c4ff92SAndroid Build Coastguard Worker ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "SyncMemGeneric_Execute_WorkingMemDescriptor"); 33*89c4ff92SAndroid Build Coastguard Worker 34*89c4ff92SAndroid Build Coastguard Worker WorkingMemDescriptor* workingMemDescriptor = static_cast<WorkingMemDescriptor*>(executionData.m_Data); 35*89c4ff92SAndroid Build Coastguard Worker workingMemDescriptor->m_Inputs[0]->Map(true); 36*89c4ff92SAndroid Build Coastguard Worker workingMemDescriptor->m_Inputs[0]->Unmap(); 37*89c4ff92SAndroid Build Coastguard Worker } 38*89c4ff92SAndroid Build Coastguard Worker 39*89c4ff92SAndroid Build Coastguard Worker } //namespace armnn 40