PandA-2024.02
|
Definition of the profiling information class. More...
#include <profiling_information.hpp>
Public Member Functions | |
ProfilingInformation (const BBGraphConstRef bb_graph) | |
Constructor. More... | |
~ProfilingInformation () | |
Destructor. More... | |
const PathProfilingInformation & | GetPathProfiling () const |
Return the path profiling information. More... | |
unsigned long long int | GetBBExecutions (const vertex bb_vertex) const |
Return the absolute number of executions of a basic block. More... | |
unsigned long long int | GetEdgeExecutions (const EdgeDescriptor edge) const |
Return the absolute number of the executions of an edge. More... | |
long double | GetLoopAvgIterations (const unsigned int loop_id) const |
Return number of average iterations of a loop. More... | |
unsigned long long int | GetLoopMaxIterations (const unsigned int loop_id) const |
Return the maximum number of iterations of a loop. More... | |
unsigned long long | GetLoopAbsIterations (const unsigned int loop_id) const |
Return the number of absolute iterations of a loop. More... | |
long double | GetLoopAvgIterations (const LoopConstRef loop) const |
Return number of average iterations of a loop. More... | |
unsigned long long int | GetLoopMaxIterations (const LoopConstRef loop) const |
Return the maximum number of iterations of a loop. More... | |
unsigned long long | GetLoopAbsIterations (const LoopConstRef loop) const |
Return the number of absolute iterations of a loop. More... | |
void | WriteToXml (xml_element *root, const BBGraphConstRef fcfg) const |
Write to xml. More... | |
void | Clear () |
Clear. More... | |
Private Attributes | |
PathProfilingInformation | path_profiling |
map that represents, for each execution path of each loop (represented by the set of the executed control equivalent regions), the execution frequency More... | |
BBExecutions | bb_executions |
Absolute number of execution of each basic block. More... | |
BBEdgeExecutions | edge_executions |
Absolute number of running of edges. More... | |
AvgIterations | avg_iterations |
number of average iterations for one loop execution More... | |
Iterations | abs_iterations |
number of absolute execution (different from number of execution of the header); correspond to how many times a feedback edge of a loop is executed More... | |
Iterations | max_iterations |
Maximum number of iterations. More... | |
Friends | |
class | BasicBlocksProfiling |
Friend defintion of profiling classes. More... | |
class | hpp_profiling |
class | LoopsProfiling |
class | probability_path |
class | HostProfiling |
class | read_profiling_data |
class | tp_profiling |
Definition of the profiling information class.
Definition at line 158 of file profiling_information.hpp.
|
explicit |
Constructor.
bb_graph | is the basic block graph |
Definition at line 79 of file profiling_information.cpp.
References ~ProfilingInformation().
|
default |
void ProfilingInformation::Clear | ( | ) |
Clear.
Definition at line 251 of file profiling_information.cpp.
References abs_iterations, avg_iterations, bb_executions, edge_executions, max_iterations, and path_profiling.
unsigned long long int ProfilingInformation::GetBBExecutions | ( | const vertex | bb_vertex | ) | const |
Return the absolute number of executions of a basic block.
basic_block | is the basic block |
Definition at line 91 of file profiling_information.cpp.
References bb_executions.
unsigned long long int ProfilingInformation::GetEdgeExecutions | ( | const EdgeDescriptor | edge | ) | const |
Return the absolute number of the executions of an edge.
edge | is the edge |
Definition at line 100 of file profiling_information.cpp.
References edge_executions.
unsigned long long int ProfilingInformation::GetLoopAbsIterations | ( | const unsigned int | loop_id | ) | const |
Return the number of absolute iterations of a loop.
loop_id | is the id of the loop |
Definition at line 127 of file profiling_information.cpp.
References abs_iterations.
Referenced by GetLoopAbsIterations().
unsigned long long ProfilingInformation::GetLoopAbsIterations | ( | const LoopConstRef | loop | ) | const |
Return the number of absolute iterations of a loop.
loop | is the loop |
Definition at line 146 of file profiling_information.cpp.
References GetLoopAbsIterations().
long double ProfilingInformation::GetLoopAvgIterations | ( | const unsigned int | loop_id | ) | const |
Return number of average iterations of a loop.
loop_id | is the id of the loop |
Definition at line 118 of file profiling_information.cpp.
References avg_iterations.
Referenced by GetLoopAvgIterations().
long double ProfilingInformation::GetLoopAvgIterations | ( | const LoopConstRef | loop | ) | const |
Return number of average iterations of a loop.
loop | is the loop |
Definition at line 136 of file profiling_information.cpp.
References GetLoopAvgIterations().
unsigned long long int ProfilingInformation::GetLoopMaxIterations | ( | const unsigned int | loop_id | ) | const |
Return the maximum number of iterations of a loop.
loop_id | is the of the loop |
Definition at line 109 of file profiling_information.cpp.
References max_iterations.
Referenced by GetLoopMaxIterations().
unsigned long long int ProfilingInformation::GetLoopMaxIterations | ( | const LoopConstRef | loop | ) | const |
Return the maximum number of iterations of a loop.
loop | is the loop |
Definition at line 141 of file profiling_information.cpp.
References GetLoopMaxIterations().
const PathProfilingInformation & ProfilingInformation::GetPathProfiling | ( | ) | const |
Return the path profiling information.
Definition at line 86 of file profiling_information.cpp.
References path_profiling.
void ProfilingInformation::WriteToXml | ( | xml_element * | root, |
const BBGraphConstRef | fcfg | ||
) | const |
Write to xml.
root | is the root xml node to which append the information contained in this profiling information |
fcfg | is the basic block graph of the function |
Map used to print profiling information in deterministic order
Map used to print profiling information in deterministic order
Definition at line 151 of file profiling_information.cpp.
References abs_iterations, xml_child::add_child_element(), avg_iterations, bb_executions, BBGraph::CGetBBNodeInfo(), edge_executions, max_iterations, path_profiling, STR_XML_host_profiling_abs_iteration, STR_XML_host_profiling_abs_iterations, STR_XML_host_profiling_avg_iteration, STR_XML_host_profiling_avg_iterations, STR_XML_host_profiling_bb_execution, STR_XML_host_profiling_bb_executions, STR_XML_host_profiling_cers, STR_XML_host_profiling_edge_execution, STR_XML_host_profiling_edge_executions, STR_XML_host_profiling_executions, STR_XML_host_profiling_frequency, STR_XML_host_profiling_id, STR_XML_host_profiling_iterations, STR_XML_host_profiling_max_iteration, STR_XML_host_profiling_max_iterations, STR_XML_host_profiling_path, STR_XML_host_profiling_paths, STR_XML_host_profiling_paths_loop, STR_XML_host_profiling_source_id, STR_XML_host_profiling_target_id, lenet_tvm::target, and WRITE_XNVM2.
|
friend |
Friend defintion of profiling classes.
Definition at line 162 of file profiling_information.hpp.
|
friend |
Definition at line 166 of file profiling_information.hpp.
|
friend |
Definition at line 163 of file profiling_information.hpp.
|
friend |
Definition at line 164 of file profiling_information.hpp.
|
friend |
Definition at line 165 of file profiling_information.hpp.
|
friend |
Definition at line 167 of file profiling_information.hpp.
|
friend |
Definition at line 168 of file profiling_information.hpp.
|
private |
number of absolute execution (different from number of execution of the header); correspond to how many times a feedback edge of a loop is executed
Definition at line 185 of file profiling_information.hpp.
Referenced by Clear(), GetLoopAbsIterations(), and WriteToXml().
|
private |
number of average iterations for one loop execution
Definition at line 181 of file profiling_information.hpp.
Referenced by Clear(), GetLoopAvgIterations(), and WriteToXml().
|
private |
Absolute number of execution of each basic block.
Definition at line 175 of file profiling_information.hpp.
Referenced by Clear(), GetBBExecutions(), and WriteToXml().
|
private |
Absolute number of running of edges.
Definition at line 178 of file profiling_information.hpp.
Referenced by Clear(), GetEdgeExecutions(), and WriteToXml().
|
private |
Maximum number of iterations.
Definition at line 188 of file profiling_information.hpp.
Referenced by Clear(), GetLoopMaxIterations(), and WriteToXml().
|
private |
map that represents, for each execution path of each loop (represented by the set of the executed control equivalent regions), the execution frequency
Definition at line 172 of file profiling_information.hpp.
Referenced by Clear(), GetPathProfiling(), and WriteToXml().