CGRA-ME
|
#include <CGRA/OpGraph.h>
#include <CGRA/Exception.h>
#include <CGRA/GraphAlgorithms.h>
#include <CGRA/utility/ConfigGraph.h>
#include <CGRA/MRRGProcedures.h>
#include <CGRA/dotparse.h>
#include <iostream>
#include <sstream>
#include <cmath>
#include <algorithm>
#include <limits>
#include <fstream>
Go to the source code of this file.
Functions | |
std::ostream & | operator<< (std::ostream &os, const OpGraphOpCode &opcode) |
const std::string & | to_string (const OpGraphOpCode &opcode) |
OpGraphOpCode | opcode_from_string (const std::string &str) |
std::istream & | operator>> (std::istream &is, OpGraphOpCode &opcode) |
std::ostream & | operator<< (std::ostream &output, const OpGraphOp &op) |
std::ostream & | operator<< (std::ostream &output, const OpGraphVal &val) |
OpSchedule | computeASAP (const OpGraph &op_graph) |
OpSchedule | computeALAP (const OpGraph &op_graph, unsigned int max_cycles) |
bool | verifyAndPrintReport (const OpGraph &opgraph, std::ostream &os, bool silent_on_no_errors, bool throw_if_errors) |
bool | analyzeOpgraphVerifyResults (std::ostream &os, const std::vector< OpGraph::VerifyMessage > &messages, const bool silent_on_no_errors) |
static void | dfs_visit (int time, int &longest_cycle, std::map< OpGraphOp *, int > &dfs_colour, std::map< OpGraphOp *, int > &dfs_timestamp, OpGraphOp *op) |
bool | operator== (const OpGraph &lhs, const OpGraph &rhs) |
OpGraphTransformResult | filter (const OpGraph &src, const std::set< OpGraph::OpDescriptor > &allowed_ops) |
std::set< OpGraph::OpDescriptor > | findNDownstreamOps (const OpGraph &opgraph, const std::vector< OpGraphOp * > &starting_points, const std::ptrdiff_t n_ops) |
std::ostream & | operator<< (std::ostream &os, const OpGraph::EdgeDescriptor &ed) |
std::ostream & | operator<< (std::ostream &os, const OpGraph::VerifyMessage::Type &vm_type) |
bool analyzeOpgraphVerifyResults | ( | std::ostream & | os, |
const std::vector< OpGraph::VerifyMessage > & | messages, | ||
const bool | silent_on_no_errors | ||
) |
A helper for the verifyAndPrintReport function
Definition at line 800 of file OpGraph.cpp.
OpSchedule computeALAP | ( | const OpGraph & | op_graph, |
unsigned int | max_cycles | ||
) |
Definition at line 629 of file OpGraph.cpp.
OpSchedule computeASAP | ( | const OpGraph & | op_graph | ) |
Definition at line 572 of file OpGraph.cpp.
|
static |
Definition at line 834 of file OpGraph.cpp.
OpGraphTransformResult filter | ( | const OpGraph & | src, |
const std::set< OpGraph::OpDescriptor > & | allowed_ops | ||
) |
Return a new graph with only the allowed_ops
present
Definition at line 1212 of file OpGraph.cpp.
std::set<OpGraph::OpDescriptor> findNDownstreamOps | ( | const OpGraph & | opgraph, |
const std::vector< OpGraphOp * > & | starting_points, | ||
const std::ptrdiff_t | n_ops | ||
) |
Starting from starting_points
, does a fanout BFS to find at least the given number of ops, including the starting points. If this function must return an op to find enough ops, then it will return all ops at that distance from the starting points. This way, it is independent of OpGraph's implementation details.
Definition at line 1246 of file OpGraph.cpp.
OpGraphOpCode opcode_from_string | ( | const std::string & | str | ) |
Definition at line 113 of file OpGraph.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const OpGraph::EdgeDescriptor & | ed | ||
) |
Definition at line 1278 of file OpGraph.cpp.
|
inline |
Definition at line 1282 of file OpGraph.cpp.
std::ostream& operator<< | ( | std::ostream & | os, |
const OpGraphOpCode & | opcode | ||
) |
Definition at line 100 of file OpGraph.cpp.
std::ostream& operator<< | ( | std::ostream & | output, |
const OpGraphOp & | op | ||
) |
Definition at line 559 of file OpGraph.cpp.
std::ostream& operator<< | ( | std::ostream & | output, |
const OpGraphVal & | val | ||
) |
Definition at line 565 of file OpGraph.cpp.
Definition at line 1159 of file OpGraph.cpp.
std::istream& operator>> | ( | std::istream & | is, |
OpGraphOpCode & | opcode | ||
) |
Definition at line 140 of file OpGraph.cpp.
const std::string& to_string | ( | const OpGraphOpCode & | opcode | ) |
Definition at line 111 of file OpGraph.cpp.
bool verifyAndPrintReport | ( | const OpGraph & | opgraph, |
std::ostream & | os, | ||
bool | silent_on_no_errors, | ||
bool | throw_if_errors | ||
) |
A routine for verifying the OpGraph. Prints out a success message, unless told not to. Can throw if errors are found. Returns true if no errors found
Definition at line 790 of file OpGraph.cpp.