chrome://跟踪在timeline.json中显示比process_names更多的通道

问题描述 投票:0回答:1

到目前为止,我假设Chrome Trace Event Profiling Tool chrome://tracing显示的车道数始终与process_name等已加载文件中定义的timeline.jsons数相匹配。这是用于记录在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条车道:

enter image description here

在文件中,第3道的单一操作softmax_cross_entropy_with_logits/Reshape_1不参考"pid": 3而是"pid": 1

这种不匹配是一个特征(即我是误解事物)还是一个错误?

google-chrome tensorflow profiling chromium
1个回答
0
投票

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

你也可以see认为pids是假的。

© www.soinside.com 2019 - 2024. All rights reserved.