From 2d213a759e68f753ef4696e02a8535f7edfe421d Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Thu, 30 Jun 2022 17:13:04 +0100 Subject: 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 Change-Id: I54b0aab12872011743a141eb42dae200227769af --- src/backends/backendsCommon/MemSyncWorkload.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/backends/backendsCommon/MemSyncWorkload.cpp') diff --git a/src/backends/backendsCommon/MemSyncWorkload.cpp b/src/backends/backendsCommon/MemSyncWorkload.cpp index af68306557..79df2d23dc 100644 --- a/src/backends/backendsCommon/MemSyncWorkload.cpp +++ b/src/backends/backendsCommon/MemSyncWorkload.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 // @@ -27,11 +27,13 @@ void SyncMemGenericWorkload::Execute() const m_TensorHandle->Unmap(); } -void SyncMemGenericWorkload::ExecuteAsync(WorkingMemDescriptor& descriptor) +void SyncMemGenericWorkload::ExecuteAsync(ExecutionData& executionData) { ARMNN_SCOPED_PROFILING_EVENT(Compute::Undefined, "SyncMemGeneric_Execute_WorkingMemDescriptor"); - descriptor.m_Inputs[0]->Map(true); - descriptor.m_Inputs[0]->Unmap(); + + WorkingMemDescriptor* workingMemDescriptor = static_cast(executionData.m_Data); + workingMemDescriptor->m_Inputs[0]->Map(true); + workingMemDescriptor->m_Inputs[0]->Unmap(); } } //namespace armnn -- cgit v1.2.1