MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / AssignLanes

Function AssignLanes

tensorflow/core/profiler/lib/profiler_session.cc:66–94  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

64}
65
66void AssignLanes(RunMetadata* run_metadata) {
67 for (size_t device_id = 0;
68 device_id < run_metadata->step_stats().dev_stats_size(); ++device_id) {
69 auto* device_stats =
70 run_metadata->mutable_step_stats()->mutable_dev_stats(device_id);
71 if (device_stats->thread_names_size() > 0 ||
72 device_stats->node_stats_size() == 0) {
73 continue;
74 }
75 std::vector<uint64> lanes;
76 for (auto ns = device_stats->mutable_node_stats()->rbegin();
77 ns != device_stats->mutable_node_stats()->rend(); ns++) {
78 uint64 end_micros = ns->all_start_micros() + ns->all_end_rel_micros();
79 bool found_lane = false;
80 for (size_t l = 0; l < lanes.size(); l++) {
81 if (end_micros <= lanes[l]) {
82 ns->set_thread_id(l);
83 found_lane = true;
84 lanes[l] = ns->all_start_micros();
85 break;
86 }
87 }
88 if (!found_lane) {
89 ns->set_thread_id(lanes.size());
90 lanes.push_back(ns->all_start_micros());
91 }
92 }
93 }
94}
95
96void ConvertRunMetadataToTraceEvent(RunMetadata* run_metadata,
97 profiler::Trace* trace,

Callers 1

Calls 6

mutable_step_statsMethod · 0.80
rbeginMethod · 0.80
rendMethod · 0.80
all_start_microsMethod · 0.45
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected