模型运行完成后,去取output tensor时闪退。代码执行到onCopyDeviceToHost 的函数的memcpy语句时程序闪退,只有“Message from debugger: Terminated due to memory issue”信息 。本地debug发现,memcpy的三个入参均有效,而且如果缩小第三个参数数值时,函数则能正常执行。对于这种场景如何进行定位呢?
5t7ly7z51#
可以尝试开启Diagnostics下的Address Sanitizer。
g6ll5ycj2#
@li-qing 按照提示,修改配置后重新clean build,依然没有更多的相关信息,之前忘了说了,在模型运行过程中会出现“2019-10-21 09:14:39.284812+0800 playground[5151:351178] [Common] _BSMachError: port 8323; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"” 类似的打印,在网上没有找到太多有效的信息。从现象看就是数据能从gpu拷贝到device buffer 是ok,但是再从device buffer拷贝到cpu内存时出错。
2条答案
按热度按时间5t7ly7z51#
可以尝试开启Diagnostics下的Address Sanitizer。
g6ll5ycj2#
@li-qing 按照提示,修改配置后重新clean build,依然没有更多的相关信息,之前忘了说了,在模型运行过程中会出现“2019-10-21 09:14:39.284812+0800 playground[5151:351178] [Common] _BSMachError: port 8323; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"” 类似的打印,在网上没有找到太多有效的信息。从现象看就是数据能从gpu拷贝到device buffer 是ok,但是再从device buffer拷贝到cpu内存时出错。