ArmNN
 26.07
OpBlockSequencer< LayerT, BlockT > Class Template Reference

#include <SubgraphUtils.hpp>

Classes

struct  Pair
 

Public Member Functions

 OpBlockSequencer ()=default
 
 ~OpBlockSequencer ()=default
 
void Add (LayerT *layer, BlockT *block)
 
std::list< Pair > & Finish ()
 

Detailed Description

template<typename LayerT, typename BlockT>
class armnn::OpBlockSequencer< LayerT, BlockT >

Definition at line 552 of file SubgraphUtils.hpp.

Constructor & Destructor Documentation

◆ OpBlockSequencer()

OpBlockSequencer ( )
default

◆ ~OpBlockSequencer()

~OpBlockSequencer ( )
default

Member Function Documentation

◆ Add()

void Add ( LayerT *  layer,
BlockT *  block 
)
inline

Definition at line 564 of file SubgraphUtils.hpp.

565  {
566  if (HasInputs(block))
567  {
568  AddReady({layer, block});
569  ProcessPending();
570  }
571  else
572  {
573  m_Pending.emplace_back(Pair{layer,block});
574  }
575  }

Referenced by TosaRefBackend::OptimizeSubgraphView().

◆ Finish()

std::list<Pair>& Finish ( )
inline

Definition at line 577 of file SubgraphUtils.hpp.

578  {
579  ProcessPending();
580  if (m_Pending.size())
581  {
582  std::stringstream stm;
583  stm << "[OpBlockSequencer] " << m_Pending.size();
584  stm << " blocks could not be processed!";
585  throw std::invalid_argument(stm.str());
586  }
587  return m_Ready;
588  }

Referenced by TosaRefBackend::OptimizeSubgraphView().


The documentation for this class was generated from the following file: