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 { ExecutionFrame()12ExecutionFrame::ExecutionFrame() {} 13 ExecuteWorkloads(IExecutionFrame * previousFrame)14IExecutionFrame* 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 PostAllocationConfigure()24void ExecutionFrame::PostAllocationConfigure() 25 { 26 for (auto&& workloadPtr: m_WorkloadQueue) 27 { 28 workloadPtr.get()->PostAllocationConfigure(); 29 } 30 } 31 RegisterDebugCallback(const DebugCallbackFunction & func)32void ExecutionFrame::RegisterDebugCallback(const DebugCallbackFunction& func) 33 { 34 for (auto&& workloadPtr: m_WorkloadQueue) 35 { 36 workloadPtr.get()->RegisterDebugCallback(func); 37 } 38 } 39 AddWorkloadToQueue(std::unique_ptr<IWorkload> workload)40void ExecutionFrame::AddWorkloadToQueue(std::unique_ptr<IWorkload> workload) 41 { 42 m_WorkloadQueue.push_back(move(workload)); 43 } 44 SetNextExecutionFrame(IExecutionFrame * nextExecutionFrame)45void ExecutionFrame::SetNextExecutionFrame(IExecutionFrame* nextExecutionFrame) 46 { 47 m_NextExecutionFrame = nextExecutionFrame; 48 } 49 50 }