ArmNN
 21.08
ExecutionFrame.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include "ExecutionFrame.hpp"
7 
8 using namespace std;
9 
10 namespace armnn
11 {
12 ExecutionFrame::ExecutionFrame() {}
13 
14 IExecutionFrame* ExecutionFrame::ExecuteWorkloads(IExecutionFrame* previousFrame)
15 {
16  IgnoreUnused(previousFrame);
17  for (auto& workload: m_WorkloadQueue)
18  {
19  workload->Execute();
20  }
21  return m_NextExecutionFrame;
22 }
23 
24 void ExecutionFrame::PostAllocationConfigure()
25 {
26  for (auto&& workloadPtr: m_WorkloadQueue)
27  {
28  workloadPtr.get()->PostAllocationConfigure();
29  }
30 }
31 
32 void ExecutionFrame::RegisterDebugCallback(const DebugCallbackFunction& func)
33 {
34  for (auto&& workloadPtr: m_WorkloadQueue)
35  {
36  workloadPtr.get()->RegisterDebugCallback(func);
37  }
38 }
39 
40 void ExecutionFrame::AddWorkloadToQueue(std::unique_ptr<IWorkload> workload)
41 {
42  m_WorkloadQueue.push_back(move(workload));
43 }
44 
45 void ExecutionFrame::SetNextExecutionFrame(IExecutionFrame* nextExecutionFrame)
46 {
47  m_NextExecutionFrame = nextExecutionFrame;
48 }
49 
50 }
Copyright (c) 2021 ARM Limited and Contributors.
void IgnoreUnused(Ts &&...)
std::function< void(LayerGuid guid, unsigned int slotIndex, ITensorHandle *tensorHandle)> DebugCallbackFunction
Define the type of callback for the Debug layer to call.
Definition: Types.hpp:321
ExecutionFrame interface to enqueue a workload computation.