NVCC使用PTX输出单独编译

时间:2014-01-21 04:37:12

标签: gcc cuda nvcc ptxas

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

只需将-ptx添加到nvcc *.cu行即可获得所需的ptx输出。

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

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

this image is quite helpful: enter image description here

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

1 个答案:

答案 0 :(得分:5)

  

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

是的,您可以告诉nvcc keep all intermediate files,其中一个是.ptx文件。

nvcc -keep ...

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