Exclude IDLE op from metrics db used for "Overview Page | Top 10 TF operations" analysis.
PiperOrigin-RevId: 295038203
Change-Id: Ie2a46b36600f929a292aac9a5d0a8175c5acc934
diff --git a/tensorflow/core/profiler/convert/op_stats_to_overview_page.cc b/tensorflow/core/profiler/convert/op_stats_to_overview_page.cc
index edbbd6f..fa221e5 100644
--- a/tensorflow/core/profiler/convert/op_stats_to_overview_page.cc
+++ b/tensorflow/core/profiler/convert/op_stats_to_overview_page.cc
@@ -144,8 +144,8 @@
OverviewPageAnalysis ComputeAnalysisResult(const OpStats& op_stats) {
OverviewPageAnalysis analysis;
- OpMetricsDb metrics_db =
- CreateTfMetricsDbFromHloMetricsDb(op_stats.device_op_metrics_db());
+ OpMetricsDb metrics_db = CreateTfMetricsDbFromHloMetricsDb(
+ op_stats.device_op_metrics_db(), /*with_idle=*/false);
uint64 total_device_time_ps = metrics_db.total_time_ps();
constexpr int kNumTopOpsShown = 10;
double device_cumulative_fraction = 0.0;
diff --git a/tensorflow/core/profiler/utils/op_metrics_db_utils.cc b/tensorflow/core/profiler/utils/op_metrics_db_utils.cc
index d59bc1a..278cfa8 100644
--- a/tensorflow/core/profiler/utils/op_metrics_db_utils.cc
+++ b/tensorflow/core/profiler/utils/op_metrics_db_utils.cc
@@ -90,8 +90,8 @@
metrics->set_self_time_ps(idle_time_ps);
}
-OpMetricsDb CreateTfMetricsDbFromHloMetricsDb(
- const OpMetricsDb& hlo_metrics_db) {
+OpMetricsDb CreateTfMetricsDbFromHloMetricsDb(const OpMetricsDb& hlo_metrics_db,
+ bool with_idle) {
OpMetricsDb tf_op_metrics_db;
DeviceTfOpMetricsDbBuilder builder(&tf_op_metrics_db);
for (const auto& hlo_op_metrics : hlo_metrics_db.metrics_db()) {
@@ -101,11 +101,18 @@
hlo_op_metrics);
} else {
DCHECK_EQ(hlo_op_metrics.name(), "IDLE");
- builder.UpdateTfOpMetricsWithHloOpMetrics("IDLE", "IDLE", hlo_op_metrics);
+ if (with_idle) {
+ builder.UpdateTfOpMetricsWithHloOpMetrics("IDLE", "IDLE",
+ hlo_op_metrics);
+ }
}
}
tf_op_metrics_db.set_total_op_time_ps(hlo_metrics_db.total_op_time_ps());
- tf_op_metrics_db.set_total_time_ps(hlo_metrics_db.total_time_ps());
+
+ tf_op_metrics_db.set_total_time_ps(with_idle
+ ? hlo_metrics_db.total_time_ps()
+ : hlo_metrics_db.total_op_time_ps());
+
return tf_op_metrics_db;
}
} // namespace profiler
diff --git a/tensorflow/core/profiler/utils/op_metrics_db_utils.h b/tensorflow/core/profiler/utils/op_metrics_db_utils.h
index 52b895e..8cd4737 100644
--- a/tensorflow/core/profiler/utils/op_metrics_db_utils.h
+++ b/tensorflow/core/profiler/utils/op_metrics_db_utils.h
@@ -68,8 +68,8 @@
void AddIdleOp(OpMetricsDb* db);
// Converts from Hlo-op metrics to Tf-op metrics.
-OpMetricsDb CreateTfMetricsDbFromHloMetricsDb(
- const OpMetricsDb& hlo_metrics_db);
+OpMetricsDb CreateTfMetricsDbFromHloMetricsDb(const OpMetricsDb& hlo_metrics_db,
+ bool with_idle = true);
} // namespace profiler
} // namespace tensorflow