MCPcopy Create free account
hub / github.com/OAID/Tengine / SetGraphPerfStat

Method SetGraphPerfStat

driver/cpu/cpu_runner.cpp:1059–1135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1057}
1058
1059bool CPURunner::SetGraphPerfStat(Subgraph* graph, int action)
1060{
1061 bool ret = true;
1062
1063 graph->Lock();
1064
1065 switch(action)
1066 {
1067 case GRAPH_PERF_STAT_DISABLE:
1068 if(graph->ExistAttr(ATTR_GRAPH_PERF_BUFFER))
1069 {
1070 graph->RemoveAttr(ATTR_GRAPH_PERF_BUFFER);
1071 }
1072 break;
1073 case GRAPH_PERF_STAT_ENABLE:
1074 if(!graph->ExistAttr(ATTR_GRAPH_PERF_BUFFER))
1075 {
1076 GraphPerfStatBuf buf;
1077
1078 buf.started = false;
1079
1080 graph->SetAttr(ATTR_GRAPH_PERF_BUFFER, buf);
1081 }
1082 break;
1083 case GRAPH_PERF_STAT_START:
1084 if(!graph->ExistAttr(ATTR_GRAPH_PERF_BUFFER))
1085 {
1086 ret = false;
1087 }
1088 else
1089 {
1090 GraphPerfStatBuf* buf = any_cast<GraphPerfStatBuf>(&graph->GetAttr(ATTR_GRAPH_PERF_BUFFER));
1091 int node_num = graph->seq_nodes.size();
1092
1093 if(buf->records.size() == 0)
1094 {
1095 buf->records.resize(node_num);
1096 buf->reset();
1097 }
1098
1099 buf->started = true;
1100 }
1101 break;
1102 case GRAPH_PERF_STAT_STOP:
1103 if(!graph->ExistAttr(ATTR_GRAPH_PERF_BUFFER))
1104 {
1105 ret = false;
1106 }
1107 else
1108 {
1109 GraphPerfStatBuf* buf = any_cast<GraphPerfStatBuf>(&graph->GetAttr(ATTR_GRAPH_PERF_BUFFER));
1110 buf->started = false;
1111 }
1112 break;
1113 case GRAPH_PERF_STAT_RESET:
1114 if(!graph->ExistAttr(ATTR_GRAPH_PERF_BUFFER))
1115 {
1116 ret = false;

Callers 1

OnSetGraphPerfAttrMethod · 0.45

Calls 9

set_tengine_errnoFunction · 0.85
RemoveAttrMethod · 0.80
LockMethod · 0.45
ExistAttrMethod · 0.45
SetAttrMethod · 0.45
GetAttrMethod · 0.45
sizeMethod · 0.45
resetMethod · 0.45
UnlockMethod · 0.45

Tested by

no test coverage detected