ExaTN
Public Member Functions | List of all members
exatn::runtime::TensorNodeExecutor Class Referenceabstract
Inheritance diagram for exatn::runtime::TensorNodeExecutor:
exatn::Identifiable exatn::Cloneable< TensorNodeExecutor > exatn::runtime::ExatensorNodeExecutor exatn::runtime::TalshNodeExecutor

Public Member Functions

virtual void initialize ()=0
 
virtual int execute (numerics::TensorOpCreate &op, TensorOpExecHandle *exec_handle)=0
 
virtual int execute (numerics::TensorOpDestroy &op, TensorOpExecHandle *exec_handle)=0
 
virtual int execute (numerics::TensorOpTransform &op, TensorOpExecHandle *exec_handle)=0
 
virtual int execute (numerics::TensorOpAdd &op, TensorOpExecHandle *exec_handle)=0
 
virtual int execute (numerics::TensorOpContract &op, TensorOpExecHandle *exec_handle)=0
 
virtual bool sync (TensorOpExecHandle op_handle, int *error_code, bool wait=false)=0
 
virtual std::shared_ptr< talsh::Tensor > getLocalTensor (const numerics::Tensor &tensor, const std::vector< std::pair< DimOffset, DimExtent >> &slice_spec)=0
 
virtual std::shared_ptr< TensorNodeExecutorclone ()=0
 
- 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< TensorNodeExecutor >
virtual ~Cloneable ()
 

Member Function Documentation

◆ execute()

virtual int exatn::runtime::TensorNodeExecutor::execute ( numerics::TensorOpCreate op,
TensorOpExecHandle *  exec_handle 
)
pure virtual

Executes the tensor operation found in a DAG node asynchronously, returning the execution handle in exec_handle that can later be used for testing for completion of the operation execution. Returns an integer error code (0:Success).

Implemented in exatn::runtime::TalshNodeExecutor, and exatn::runtime::ExatensorNodeExecutor.

◆ getLocalTensor()

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

Returns a local copy of a given tensor slice.

Implemented in exatn::runtime::TalshNodeExecutor, and exatn::runtime::ExatensorNodeExecutor.

◆ initialize()

virtual void exatn::runtime::TensorNodeExecutor::initialize ( )
pure virtual

Explicitly initializes the underlying numerical service, if needed

Implemented in exatn::runtime::TalshNodeExecutor, and exatn::runtime::ExatensorNodeExecutor.

◆ sync()

virtual bool exatn::runtime::TensorNodeExecutor::sync ( TensorOpExecHandle  op_handle,
int *  error_code,
bool  wait = false 
)
pure virtual

Synchronizes the execution of a previously submitted tensor operation.

Implemented in exatn::runtime::TalshNodeExecutor, and exatn::runtime::ExatensorNodeExecutor.


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