ArmNN
 23.05
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 }
armnn::IExecutionFrame
ExecutionFrame interface to enqueue a workload computation.
Definition: ExecutionFrame.hpp:16
armnn::IgnoreUnused
void IgnoreUnused(Ts &&...)
Definition: IgnoreUnused.hpp:14
armnn::DebugCallbackFunction
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:390
ExecutionFrame.hpp
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition: 01_00_quick_start.dox:6
std
Definition: BackendId.hpp:149