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_name
s 数匹配。这适用于在TensorFlow
中记录并使用timeline.generate_chrome_trace_format()
导出到文件的时间线。
我现在面临timeline.json
包含3个process_name
s这样的情况:
"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 问题