chrome://tracing 在timeline.json 中显示比process_names 更多的车道

Posted

技术标签:

【中文标题】chrome://tracing 在timeline.json 中显示比process_names 更多的车道【英文标题】:chrome://tracing displaying more lanes than process_names in timeline.json 【发布时间】:2017-12-27 02:53:33 【问题描述】:

到目前为止,我假设 Chrome Trace Event Profiling Tool chrome://tracing 显示的车道数始终与 timeline.json 等加载文件中定义的 process_names 数匹配。这适用于在TensorFlow 中记录并使用timeline.generate_chrome_trace_format() 导出到文件的时间线。

我现在面临timeline.json包含3个process_names这样的情况:


    "name": "process_name",
    "args":  "name": "Allocators" ,
    "ph": "M", "pid": 0
,

    "name": "process_name",
    "args":  "name": "/job:localhost/replica:0/task:0/device:CPU:0 Compute" ,
    "ph": "M", "pid": 1
,

    "name": "process_name",
    "args":  "name": "/job:localhost/replica:0/task:0/device:CPU:0 Tensors" ,
    "ph": "M", "pid": 2
,

而该工具显示 4 条这样的车道:

并且在文件中,通道 3 中的单个操作 softmax_cross_entropy_with_logits/Reshape_1 没有引用 "pid": 3 而是 "pid": 1

这种不匹配是功能(即我误解了事物)还是错误?

【问题讨论】:

【参考方案1】:

通道数基本上只是运行期间发生的最高并行度。通常有几十个线程(使用 Eigen 库中的默认值)用于内核执行。 tensorflow 不会显示所有这些(许多完全是空的),而是将节点执行打包到尽可能少的通道中。这是执行此操作的function。

你也可以see说pids是假的。

【讨论】:

以上是关于chrome://tracing 在timeline.json 中显示比process_names 更多的车道的主要内容,如果未能解决你的问题,请参考以下文章

关于BenchMark/c++11计时器/Chrome:tracing 问题

android 常见问题解决方法(持续更新中....)

el-timeline嵌套el-timeline使用时,子级el-timeline节点时间线不显示

如何在timeline.js的标志中添加图像

Timeline.js 如何将导航更改为顶部

echart 如何修改timeline间距?