NVCC使用PTX输出单独编译

joz*_*yqk 2 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).

尝试编译*.ptxwith 静默nvcc无效,不输出任何内容.

这张图片非常有帮助: 在此输入图像描述

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

Rob*_*lla 5

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

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

nvcc -keep ...
Run Code Online (Sandbox Code Playgroud)

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