【发布时间】:2017-09-24 05:07:23
【问题描述】:
我构建了一些使用 OpenACC 的 C++ 代码,并使用 PGI 编译器对其进行编译,以便在 Tesla GPU 上使用。
编译成功,没有任何警告。
我运行程序并得到两个错误:
call to cuStreamSynchronize returned error 717: Invalid address space
call to cuMemFreeHost returned error 717: Invalid address space
互联网似乎对此知之甚少,除了建议enabling unified memory 以便自动将问题扫到地毯下。我不喜欢那种解决方案。
我该如何调试这个?
由于 C++ 代码仅在 CPU 上运行,我会启动 gdb,进行回溯,然后说:“啊哈!”
但现在我的代码存在于 CPU 和 GPU 上,数据在两者之间流动。我什至不知道该使用什么工具。
回退是开始注释行直到问题消失,但这似乎也不是最理想的。
【问题讨论】: