Gcc 使用PTX输出的NVCC单独编译
为了了解CUDA正在生成什么样的代码,除了一个对象文件之外,我还想编译成ptx。由于我的一些循环展开可能需要相当长的时间,我希望能够编译Gcc 使用PTX输出的NVCC单独编译,gcc,cuda,nvcc,ptxas,Gcc,Cuda,Nvcc,Ptxas,为了了解CUDA正在生成什么样的代码,除了一个对象文件之外,我还想编译成ptx。由于我的一些循环展开可能需要相当长的时间,我希望能够编译*.cu→*.ptx→*.o而不是同时使用*.cu→*.ptx和*.cu→*.o,我目前正在做 只需将-ptx添加到nvcc*.cu行,即可获得所需的ptx输出 使用ptxas-c编译*.ptx到*.o可以工作,但会在我的可执行文件链接中导致错误:在通用ELF(EM:190)中重新定位 尝试使用nvcc编译*.ptx失败,没有输出任何内容 是否有一些选项需要传
*.cu
→<代码>*.ptx→*.o
而不是同时使用*.cu
→<代码>*.ptx和*.cu
→<代码>*.o,我目前正在做
只需将-ptx
添加到nvcc*.cu
行,即可获得所需的ptx输出
使用ptxas-c
编译*.ptx
到*.o
可以工作,但会在我的可执行文件链接中导致错误:在通用ELF(EM:190)中重新定位
尝试使用nvcc
编译*.ptx
失败,没有输出任何内容
是否有一些选项需要传递到ptxas
?我应该如何通过单独编译的ptx正确编译?或者,我可以告诉nvcc保留ptx吗
或者,我可以告诉nvcc保留ptx吗
是的,您可以告诉nvcc,其中之一是.ptx
文件
nvcc -keep ...
保留所有中间文件有点混乱,但我相信你可以想出一个脚本来整理东西,只保存你想要的文件