Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
CTF::TensorOperation Class Reference

A tensor operation, containing all the data (op, lhs, rhs) required to run it. Also provides methods to get a list of inputs and outputs, as well as successor and dependency information used in scheduling. More...

#include <schedule.h>

Inheritance diagram for CTF::TensorOperation:
Collaboration diagram for CTF::TensorOperation:

Public Member Functions

 TensorOperation (TensorOperationTypes op, Idx_Tensor *lhs, const CTF_int::Term *rhs)
 Constructor, create the tensor operation lhs op= rhs. More...
 
void get_outputs (std::set< Idx_Tensor *, CTF_int::tensor_name_less > *outputs_set) const
 appends the tensors this writes to to the input set More...
 
void get_inputs (std::set< Idx_Tensor *, CTF_int::tensor_name_less > *inputs_set) const
 appends the tensors this depends on (reads from, including the output if a previous value is required) to the input set More...
 
void execute (std::map< CTF_int::tensor *, CTF_int::tensor * > *remap=NULL)
 runs this operation, but does NOT handle dependency scheduling optionally takes a remapping of tensors More...
 
double estimate_time ()
 provides an estimated runtime cost More...
 
bool is_dummy ()
 
const char * name ()
 
- Public Member Functions inherited from CTF::TensorOperationBase
virtual ~TensorOperationBase ()
 

Data Fields

int dependency_count
 
std::vector< TensorOperation * > successors
 
std::vector< TensorOperation * > reads
 
int dependency_left
 

Protected Attributes

TensorOperationTypes op
 
Idx_Tensorlhs
 
const CTF_int::Termrhs
 
double cached_estimated_cost
 

Detailed Description

A tensor operation, containing all the data (op, lhs, rhs) required to run it. Also provides methods to get a list of inputs and outputs, as well as successor and dependency information used in scheduling.

Definition at line 34 of file schedule.h.


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