ArmNN
 25.11
Loading...
Searching...
No Matches
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()

template<typename LayerT, typename BlockT>
OpBlockSequencer ( )
default

◆ ~OpBlockSequencer()

template<typename LayerT, typename BlockT>
~OpBlockSequencer ( )
default

Member Function Documentation

◆ Add()

template<typename LayerT, typename BlockT>
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()

template<typename LayerT, typename BlockT>
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: