15
运行时
dtk-21.04等版本中的results.json格式不兼容问题
2021-12-14 15:14:27
69

当使用dtk-21.04等版本,使用 hipcc --offload-arch=gfx906 -O2 -fopenmp main.c vsum.c vmul.c -o vmulsum 命令编译一个opemp offload程序后,再以 rocprof --kfd-trace ./vmulsum进行profiling时,所得到的results.json不被chrome 识别,会报错误:

While importing:
Error: Couldn't create an importer for the provided eventData.
at Import.createImporter_ (chrome://tracing/tracing.js:2022:1948)
at chrome://tracing/tracing.js:2015:167
at Task.run (chrome://tracing/tracing.js:3278:95)
at runAnother (chrome://tracing/tracing.js:3281:371)
at runTask (chrome://tracing/tracing.js:3043:57)
at processIdleWork (chrome://tracing/tracing.js:3048:116)
at window.requestIdleCallback.timeout (chrome://tracing/tracing.js:3041:81)

打开results.json文件可发现,最后一行不太符合json规范。整个json是 {},{}的形式,如果将最后一行中的 ,{"args":{"name":"COPY"},"ph":"M","pid":1,"name":"process_name","sort_index":0}删除,则chrome 可以识别此results.json文件。请修复。

此外,使用 rocprof --sys-trace 运行程序后,得到的results.json的全部内容为:

$ cat results.json
,{"args":{"name":"COPY"},"ph":"M","pid":1,"name":"process_name","sort_index":0}

其中并无任何tracing的实际信息,尝试了很多版本,均无法获取openmp offload程序的GPU tracing活动信息,有没有可行的办法?

全部评论(2)
只看楼主
W
wszhang126
楼主
2楼

以上所讲格式问题在复现时会有问题。实际上使用dtk-21.04时,并没有输出results.json中的时间线数据,其只是对过去运行生成的results.json附加了最后一行字符,并没有将过去的results.json删除并重新生成。如果将过去用romc3.9.1生成的results.json删除,在使用dtk-21.04全新的运行rocprof --sys-trace后,得到的results.json文件中只有附加的那一行字符。

2021/12/16
L
louis
1楼

profile工具目前暂时不能应用到openmp offload中,两者采用不同的运行机制

2021/12/14
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据