aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/Workload.hpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2021-03-31 16:22:40 +0100
committerJim Flynn <jim.flynn@arm.com>2021-04-08 08:44:11 +0000
commitb76eaed55a89330b3b448c4f4522b3fc94a4f38d (patch)
treea8270de0ad19f2121b217e93fd570214254df69b /src/backends/backendsCommon/Workload.hpp
parent30aa3713a21888dcbc640182a2fcf2d161348d62 (diff)
downloadarmnn-b76eaed55a89330b3b448c4f4522b3fc94a4f38d.tar.gz
IVGCVSW-5793 Add default ExecuteAsync implementation to Workload
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: If2069b4d274286e654ac2bceb52d147f9ee3a7a9
Diffstat (limited to 'src/backends/backendsCommon/Workload.hpp')
-rw-r--r--src/backends/backendsCommon/Workload.hpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/Workload.hpp b/src/backends/backendsCommon/Workload.hpp
index 940b878d2f..87869c9841 100644
--- a/src/backends/backendsCommon/Workload.hpp
+++ b/src/backends/backendsCommon/Workload.hpp
@@ -37,7 +37,16 @@ public:
m_Data.Validate(info);
}
- void ExecuteAsync(WorkingMemDescriptor&) override {};
+ void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override
+ {
+ ARMNN_LOG(info) << "Using default async workload execution, this will network affect performance";
+ std::lock_guard<std::mutex> lockGuard(m_AsyncWorkloadMutex);
+
+ m_Data.m_Inputs = workingMemDescriptor.m_Inputs;
+ m_Data.m_Outputs = workingMemDescriptor.m_Outputs;
+
+ Execute();
+ };
void PostAllocationConfigure() override {}
@@ -46,8 +55,11 @@ public:
profiling::ProfilingGuid GetGuid() const final { return m_Guid; }
protected:
- const QueueDescriptor m_Data;
+ QueueDescriptor m_Data;
const profiling::ProfilingGuid m_Guid;
+
+private:
+ std::mutex m_AsyncWorkloadMutex;
};
// TypedWorkload used