24 for (
auto p : products ) rank += p->getConsumers().size();
41 myfile.
open(
"InputExecutionPlan.graphml", std::ios::in );
48 boost::dynamic_properties dp;
49 dp.property(
"name",
get( &AlgoTraceProps::m_name, execPlan ) );
50 dp.property(
"index",
get( &AlgoTraceProps::m_index, execPlan ) );
51 dp.property(
"dataRank",
get( &AlgoTraceProps::m_rank, execPlan ) );
52 dp.property(
"runtime",
get( &AlgoTraceProps::m_runtime, execPlan ) );
54 boost::read_graphml( myfile, execPlan, dp );
56 typedef boost::graph_traits<precedence::PrecTrace>::vertex_iterator itV;
59 for ( vp = boost::vertices( execPlan ); vp.first != vp.second; ++vp.first ) {
61 auto index =
get( &AlgoTraceProps::m_name, execPlan );
77 typename boost::graph_traits<precedence::PrecTrace>::adjacency_iterator itVB;
78 typename boost::graph_traits<precedence::PrecTrace>::adjacency_iterator itVE;
80 for ( boost::tie( itVB, itVE ) = adjacent_vertices( vertex,
graph ); itVB != itVE; ++itVB ) {
90 myfile.
open(
"InputExecutionPlan.graphml", std::ios::in );
96 boost::dynamic_properties dp;
97 dp.property(
"name",
get( &AlgoTraceProps::m_name, execPlan ) );
98 dp.property(
"index",
get( &AlgoTraceProps::m_index, execPlan ) );
99 dp.property(
"dataRank",
get( &AlgoTraceProps::m_rank, execPlan ) );
100 dp.property(
"runtime",
get( &AlgoTraceProps::m_runtime, execPlan ) );
102 boost::read_graphml( myfile, execPlan, dp );
104 typedef boost::graph_traits<precedence::PrecTrace>::vertex_iterator itV;
107 for ( vp = boost::vertices( execPlan ); vp.first != vp.second; ++vp.first ) {
109 auto index =
get( &AlgoTraceProps::m_name, execPlan );
111 auto index_runtime =
get( &AlgoTraceProps::m_runtime, execPlan );
112 float rank = index_runtime[
v];
124 myfile.
open(
"Eccentricity.graphml", std::ios::in );
128 boost::dynamic_properties dp;
134 boost::read_graphml( myfile, execPlan, dp );
136 typedef boost::graph_traits<precedence::PrecTrace>::vertex_iterator itV;
139 for ( vp = boost::vertices( execPlan ); vp.first != vp.second; ++vp.first ) {
144 float rank = index_eccentricity[
v];
174 if ( products.empty() )
177 for (
auto p : products )
178 for (
auto algoNode : p->getConsumers() )
recursiveVisit( *algoNode );