2

只是为了看看 CUDA 生成什么样的代码,除了目标文件之外,我还喜欢编译为 ptx。由于我的一些循环展开可能需要很长时间,我希望能够编译*.cu→<code>*.ptx→<code>*.o而不是在*.cu→<code>*.ptx*.cu→< code>*.o,我目前正在这样做。

只需添加-ptx到该nvcc *.cu行即可提供所需的 ptx 输出。

使用ptxas -c编译*.ptx可以*.o工作,但在我的可执行链接中导致错误:Relocations in generic ELF (EM: 190).

尝试编译*.ptxwith静默nvcc失败,不输出任何内容。

这张图片很有帮助: 在此处输入图像描述

我需要传递一些选项ptxas吗?我应该如何通过单独编译通过 ptx 正确编译?或者,我可以告诉nvcc保留 ptx 吗?

4

1 回答 1

5

或者,我可以告诉 nvcc 保留 ptx 吗?

是的,您可以告诉 nvcc保留所有中间文件,其中之一就是.ptx文件。

nvcc -keep ...

保留所有中间文件有点乱,但我相信你可以想出一个脚本来整理东西,只保存你想要的文件。

于 2014-01-21T05:12:16.177 回答