ExaTN
Public Member Functions | Protected Attributes | List of all members
exatn::runtime::TensorGraphExecutor Class Referenceabstract
Inheritance diagram for exatn::runtime::TensorGraphExecutor:
exatn::Identifiable exatn::Cloneable< TensorGraphExecutor > exatn::runtime::EagerGraphExecutor exatn::runtime::LazyGraphExecutor

Public Member Functions

 TensorGraphExecutor (const TensorGraphExecutor &)=delete
 
TensorGraphExecutoroperator= (const TensorGraphExecutor &)=delete
 
 TensorGraphExecutor (TensorGraphExecutor &&) noexcept=delete
 
TensorGraphExecutoroperator= (TensorGraphExecutor &&) noexcept=delete
 
void resetNodeExecutor (std::shared_ptr< TensorNodeExecutor > node_executor)
 
void resetLoggingLevel (int level=0)
 
virtual void execute (TensorGraph &dag)=0
 
virtual std::shared_ptr< TensorGraphExecutorclone ()=0
 
std::shared_ptr< talsh::Tensor > getLocalTensor (const numerics::Tensor &tensor, const std::vector< std::pair< DimOffset, DimExtent >> &slice_spec)
 
void stopExecution ()
 
- Public Member Functions inherited from exatn::Identifiable
virtual const std::string name () const =0
 
virtual const std::string description () const =0
 
- Public Member Functions inherited from exatn::Cloneable< TensorGraphExecutor >
virtual ~Cloneable ()
 

Protected Attributes

std::shared_ptr< TensorNodeExecutornode_executor_
 
std::ofstream logfile_
 
std::atomic< int > logging_
 
std::atomic< bool > stopping_
 
std::atomic< bool > active_
 

Member Function Documentation

◆ clone()

virtual std::shared_ptr<TensorGraphExecutor> exatn::runtime::TensorGraphExecutor::clone ( )
pure virtual

◆ execute()

virtual void exatn::runtime::TensorGraphExecutor::execute ( TensorGraph dag)
pure virtual

Traverses the DAG and executes all its nodes (operations). [THREAD: This function is executed by the execution thread]

Implemented in exatn::runtime::EagerGraphExecutor, and exatn::runtime::LazyGraphExecutor.

◆ getLocalTensor()

std::shared_ptr<talsh::Tensor> exatn::runtime::TensorGraphExecutor::getLocalTensor ( const numerics::Tensor tensor,
const std::vector< std::pair< DimOffset, DimExtent >> &  slice_spec 
)
inline

Returns a local copy of a given tensor slice.

◆ resetLoggingLevel()

void exatn::runtime::TensorGraphExecutor::resetLoggingLevel ( int  level = 0)
inline

Resets the logging level (0:none).

◆ resetNodeExecutor()

void exatn::runtime::TensorGraphExecutor::resetNodeExecutor ( std::shared_ptr< TensorNodeExecutor node_executor)
inline

Sets/resets the DAG node executor (tensor operation executor).

◆ stopExecution()

void exatn::runtime::TensorGraphExecutor::stopExecution ( )
inline

Signals to stop execution of the DAG until later resume and waits until the execution has actually stopped. [THREAD: This function is executed by the main thread]


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