#include <OpScheduler.h>
|
| OpScheduler (const OpGraph &opgraph, const MRRG &mrrg, std::string arch_name, std::string supported_ops_file_name="") |
|
| ~OpScheduler () |
|
int | addOpConstr (GRBmodel *model, unsigned II, int max_step, bool ignore_backedge, int exit_id) |
|
int | calcEdgeDist (OpGraphVal *val, OpGraphOp *sink_op, unsigned II, bool ignore_backedge) |
|
int | calcNodePrio (OpGraphOp *, int) |
|
void | parseNetworkSchedule (std::string netwrok_latency_filename) |
|
bool | isBackEdge (OpGraphOp *) |
|
int | schedASLAP (unsigned II, unsigned max_cycles, SchedType algo) |
|
int | schedSDCMod (unsigned II, SchedType algo) |
|
void | buildLastUseTable (int &ext_node_count, int exit_id, std::map< OpGraphOp *, int > &last_use) |
|
int | addLastUseConstr (GRBmodel *model, std::map< OpGraphOp *, int > last_use) |
|
int | getLowerBoundEdge (OpGraphOpCode op1, OpGraphOpCode op2) |
|
std::unordered_map< const OpGraphOp *, int > | getSchedule (SchedType type) |
|
int | calcLowerBound (OpGraphOp *op) |
|
|
const OpGraph & | op_graph |
|
const MRRG & | mrrg |
|
std::unordered_map< const OpGraphOp *, int > | asap_schedule |
|
std::unordered_map< const OpGraphOp *, int > | alap_schedule |
|
std::unordered_map< const OpGraphOp *, int > | sdc_mod_schedule |
|
std::unordered_map< const OpGraphOp *, int > | sdc_lro_schedule |
|
std::vector< const MRRGNode * > | function_nodes |
|
std::unordered_map< const OpGraphOp *, int > | schedule |
|
std::unordered_map< OpGraphOpCode, int > | op_latency |
|
std::unordered_map< OpCodeEdge, int, pair_hash > | lower_bound_op_code_edge |
|
std::unordered_map< OpCodeEdge, int, pair_hash > | upper_bound_op_code_edge |
|
Definition at line 39 of file OpScheduler.h.
◆ opPair
◆ OpScheduler()
OpScheduler::OpScheduler |
( |
const OpGraph & |
opgraph, |
|
|
const MRRG & |
mrrg, |
|
|
std::string |
arch_name, |
|
|
std::string |
supported_ops_file_name = "" |
|
) |
| |
◆ ~OpScheduler()
OpScheduler::~OpScheduler |
( |
| ) |
|
|
inline |
◆ addLastUseConstr()
int OpScheduler::addLastUseConstr |
( |
GRBmodel * |
model, |
|
|
std::map< OpGraphOp *, int > |
last_use |
|
) |
| |
◆ addOpConstr()
int OpScheduler::addOpConstr |
( |
GRBmodel * |
model, |
|
|
unsigned |
II, |
|
|
int |
max_step, |
|
|
bool |
ignore_backedge, |
|
|
int |
exit_id |
|
) |
| |
◆ buildLastUseTable()
void OpScheduler::buildLastUseTable |
( |
int & |
ext_node_count, |
|
|
int |
exit_id, |
|
|
std::map< OpGraphOp *, int > & |
last_use |
|
) |
| |
◆ calcEdgeDist()
int OpScheduler::calcEdgeDist |
( |
OpGraphVal * |
val, |
|
|
OpGraphOp * |
sink_op, |
|
|
unsigned |
II, |
|
|
bool |
ignore_backedge |
|
) |
| |
◆ calcLowerBound()
int OpScheduler::calcLowerBound |
( |
OpGraphOp * |
op | ) |
|
◆ calcNodePrio()
int OpScheduler::calcNodePrio |
( |
OpGraphOp * |
op, |
|
|
int |
step |
|
) |
| |
◆ getLowerBoundEdge()
◆ getSchedule()
◆ isBackEdge()
bool OpScheduler::isBackEdge |
( |
OpGraphOp * |
op | ) |
|
◆ parseNetworkSchedule()
void OpScheduler::parseNetworkSchedule |
( |
std::string |
netwrok_latency_filename | ) |
|
◆ schedASLAP()
int OpScheduler::schedASLAP |
( |
unsigned |
II, |
|
|
unsigned |
max_cycles, |
|
|
SchedType |
algo |
|
) |
| |
◆ schedSDCMod()
int OpScheduler::schedSDCMod |
( |
unsigned |
II, |
|
|
SchedType |
algo |
|
) |
| |
◆ alap_schedule
std::unordered_map<const OpGraphOp*, int> OpScheduler::alap_schedule |
|
private |
◆ asap_schedule
std::unordered_map<const OpGraphOp*, int> OpScheduler::asap_schedule |
|
private |
◆ extended_sched_const
std::unordered_map<opPair , int, pair_hash> OpScheduler::extended_sched_const |
◆ function_nodes
std::vector<const MRRGNode*> OpScheduler::function_nodes |
|
private |
◆ lower_bound_op_code_edge
◆ mrrg
const MRRG& OpScheduler::mrrg |
|
private |
◆ op_graph
const OpGraph& OpScheduler::op_graph |
|
private |
◆ op_latency
◆ schedule
std::unordered_map<const OpGraphOp*, int> OpScheduler::schedule |
|
private |
◆ sdc_lro_schedule
std::unordered_map<const OpGraphOp*, int> OpScheduler::sdc_lro_schedule |
|
private |
◆ sdc_mod_schedule
std::unordered_map<const OpGraphOp*, int> OpScheduler::sdc_mod_schedule |
|
private |
◆ upper_bound_op_code_edge
The documentation for this class was generated from the following files:
- /media/maple_tb_disk/wicklun2/cgra-me-website/cgra-me/inc/CGRA/OpScheduler.h
- /media/maple_tb_disk/wicklun2/cgra-me-website/cgra-me/src/core/OpScheduler.cpp