Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
|
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>
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_Tensor * | lhs |
const CTF_int::Term * | rhs |
double | cached_estimated_cost |
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.