ExecutionState Class Reference

HiCR: HiCR::backend::nosv::ExecutionState Class Reference
HiCR
HiCR::backend::nosv::ExecutionState Class Referencefinal

#include <executionState.hpp>

Inheritance diagram for HiCR::backend::nosv::ExecutionState:
HiCR::ExecutionState

Classes

struct  taskMetadata_t
 

Public Member Functions

__INLINE__ ExecutionState (const std::shared_ptr< HiCR::ExecutionUnit > &executionUnit, void *const argument=nullptr)
 
- Public Member Functions inherited from HiCR::ExecutionState
__INLINE__ void resume ()
 
__INLINE__ void suspend ()
 
__INLINE__ bool checkFinalization ()
 
__INLINE__ state_t getState ()
 
 ExecutionState ()=delete
 
virtual ~ExecutionState ()=default
 

Public Attributes

nosv_task_t _executionStateTask
 

Protected Member Functions

__INLINE__ void resumeImpl () override
 
void suspendImpl () override
 
bool checkFinalizationImpl () override
 
- Protected Member Functions inherited from HiCR::ExecutionState
 ExecutionState (const std::shared_ptr< HiCR::ExecutionUnit > &executionUnit)
 

Additional Inherited Members

- Public Types inherited from HiCR::ExecutionState
enum  state_t {
  uninitialized , initialized , running , suspended ,
  finished
}
 

Detailed Description

This class is an abstract representation of the lifetime of an execution unit. It exposes initialization, suspension and resume functionalities that should (ideally) be implemented for all execution/processing unit combinations.

Constructor & Destructor Documentation

◆ ExecutionState()

__INLINE__ HiCR::backend::nosv::ExecutionState::ExecutionState ( const std::shared_ptr< HiCR::ExecutionUnit > &  executionUnit,
void *const  argument = nullptr 
)
inline

To save memory, the initialization of execution states (i.e., allocation of required structures) is deferred until this function is called.

Parameters
[in]executionUnitRepresents a replicable executable unit (e.g., function, kernel) to execute
[in]argumentArgument (closure) to pass to the function to be ran

Member Function Documentation

◆ checkFinalizationImpl()

bool HiCR::backend::nosv::ExecutionState::checkFinalizationImpl ( )
inlineoverrideprotectedvirtual

Backend-specific implementation of the checkFinalization function

Returns
True, if the execution has finalized; False, otherwise.

Implements HiCR::ExecutionState.

◆ resumeImpl()

__INLINE__ void HiCR::backend::nosv::ExecutionState::resumeImpl ( )
inlineoverrideprotectedvirtual

Backend-specific implementation of the resume function

Implements HiCR::ExecutionState.

◆ suspendImpl()

void HiCR::backend::nosv::ExecutionState::suspendImpl ( )
inlineoverrideprotectedvirtual

Backend-specific implementation of the suspend function

Implements HiCR::ExecutionState.

Member Data Documentation

◆ _executionStateTask

nosv_task_t HiCR::backend::nosv::ExecutionState::_executionStateTask

nosv task for the executionState


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