aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads/RefGatherNdWorkload.cpp
diff options
context:
space:
mode:
authorMatthew Sloyan <matthew.sloyan@arm.com>2022-06-30 17:13:04 +0100
committerNikhil Raj <nikhil.raj@arm.com>2022-07-27 15:52:10 +0100
commit2d213a759e68f753ef4696e02a8535f7edfe421d (patch)
treef4003d0a60e907937e04d96fc434c0bfac596f86 /src/backends/reference/workloads/RefGatherNdWorkload.cpp
parent28aa6691accfd78c5eb5c4356316220d0e82ddef (diff)
downloadarmnn-2d213a759e68f753ef4696e02a8535f7edfe421d.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/reference/workloads/RefGatherNdWorkload.cpp')
-rw-r--r--src/backends/reference/workloads/RefGatherNdWorkload.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backends/reference/workloads/RefGatherNdWorkload.cpp b/src/backends/reference/workloads/RefGatherNdWorkload.cpp
index 4c6b559943..9a9478c3dc 100644
--- a/src/backends/reference/workloads/RefGatherNdWorkload.cpp
+++ b/src/backends/reference/workloads/RefGatherNdWorkload.cpp
@@ -18,9 +18,10 @@ void RefGatherNdWorkload::Execute() const
Execute(m_Data.m_Inputs, m_Data.m_Outputs);
}
-void RefGatherNdWorkload::ExecuteAsync(WorkingMemDescriptor &workingMemDescriptor)
+void RefGatherNdWorkload::ExecuteAsync(ExecutionData& executionData)
{
- Execute(workingMemDescriptor.m_Inputs, workingMemDescriptor.m_Outputs);
+ WorkingMemDescriptor* workingMemDescriptor = static_cast<WorkingMemDescriptor*>(executionData.m_Data);
+ Execute(workingMemDescriptor->m_Inputs, workingMemDescriptor->m_Outputs);
}
void RefGatherNdWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const