Compute Graph Framework SDK Reference  5.12
dw::framework::Pass Class Referenceabstract

Detailed Description

Pass is a runnable describes the metadata of a pass.

Definition at line 48 of file Pass.hpp.

Inheritance diagram for dw::framework::Pass:

Public Member Functions

virtual NodegetNode () const =0
 Get the node this pass belongs to. More...
 
dw::core::HeapHashMap< dwStatus, uint32_t > const & getPassReturnErrorMap ()
 Get the return status code to error map. More...
 
virtual dw::core::FixedString< MAX_NAME_LEN > const & getRunnableId (bool isSubmitPass) const =0
 Get the runnable id. More...
 
Passoperator= (Pass &&) &=delete
 Move assignment operator. More...
 
Passoperator= (Pass const &) &=delete
 Copy assignment operator. More...
 
 Pass (Pass &&)=delete
 Move constructor. More...
 
 Pass (Pass const &)=delete
 Copy constructor. More...
 
virtual dwStatus run ()=0
 Run the pass. More...
 
virtual void setRunnableId (dw::core::StringView const &runnableId)=0
 Set the runnable id. More...
 
virtual ~Pass ()=default
 Destructor. More...
 

Public Attributes

cudaStream_t m_cudaStream
 The cuda stream to use in case the processor type is GPU. More...
 
bool m_isFirstIteration
 
dwProcessorType m_processor
 The processor type this pass runs on. More...
 

Static Public Attributes

static constexpr const size_t MAX_NAME_LEN {256U}
 The maximum length of the runnable id. More...
 

Protected Member Functions

 Pass (dwProcessorType const processor, std::initializer_list< std::pair< dwStatus, uint32_t > > const &returnMapping={})
 Constructor. More...
 

Constructor & Destructor Documentation

◆ ~Pass()

virtual dw::framework::Pass::~Pass ( )
virtualdefault

Destructor.

◆ Pass() [1/3]

dw::framework::Pass::Pass ( Pass const &  )
delete

Copy constructor.

◆ Pass() [2/3]

dw::framework::Pass::Pass ( Pass &&  )
delete

Move constructor.

◆ Pass() [3/3]

dw::framework::Pass::Pass ( dwProcessorType const  processor,
std::initializer_list< std::pair< dwStatus, uint32_t > > const &  returnMapping = {} 
)
protected

Constructor.

Member Function Documentation

◆ getNode()

virtual Node & dw::framework::Pass::getNode ( ) const
pure virtual

Get the node this pass belongs to.

Implemented in dw::framework::PassImpl< PassFunctionT >.

◆ getPassReturnErrorMap()

dw::core::HeapHashMap< dwStatus, uint32_t > const & dw::framework::Pass::getPassReturnErrorMap ( )
inline

Get the return status code to error map.

Definition at line 76 of file Pass.hpp.

◆ getRunnableId()

virtual dw::core::FixedString< MAX_NAME_LEN > const & dw::framework::Pass::getRunnableId ( bool  isSubmitPass) const
pure virtual

Get the runnable id.

Implemented in dw::framework::PassImpl< PassFunctionT >.

◆ operator=() [1/2]

Pass & dw::framework::Pass::operator= ( Pass &&  ) &
delete

Move assignment operator.

◆ operator=() [2/2]

Pass & dw::framework::Pass::operator= ( Pass const &  ) &
delete

Copy assignment operator.

◆ run()

virtual dwStatus dw::framework::Pass::run ( )
pure virtual

Run the pass.

Implemented in dw::framework::PassImpl< PassFunctionT >.

◆ setRunnableId()

virtual void dw::framework::Pass::setRunnableId ( dw::core::StringView const &  runnableId)
pure virtual

Set the runnable id.

Implemented in dw::framework::PassImpl< PassFunctionT >.

Member Data Documentation

◆ m_cudaStream

cudaStream_t dw::framework::Pass::m_cudaStream

The cuda stream to use in case the processor type is GPU.

Definition at line 85 of file Pass.hpp.

◆ m_isFirstIteration

bool dw::framework::Pass::m_isFirstIteration

Keeps track of the 1st pass executed. WAR Added for enabling pipelining with schedule switching. WAR will be removed after STM resets epoch iteration count after schedule switch

Definition at line 90 of file Pass.hpp.

◆ m_processor

dwProcessorType dw::framework::Pass::m_processor

The processor type this pass runs on.

Definition at line 82 of file Pass.hpp.

◆ MAX_NAME_LEN

constexpr const size_t dw::framework::Pass::MAX_NAME_LEN {256U}
staticconstexpr

The maximum length of the runnable id.

Definition at line 55 of file Pass.hpp.


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