2012-07-13 111 views
10

有谁知道如何用新的LLVM后端将C/C++代码注释为PTX组装器?如何在CUDA 4.1/4.2/5.0中输出C/C++注释的PTX

使用CUDA 4.0或更早版本可以轻松获得它,但在将CUDA工具包升级到4.2版后,NVCC会拒绝所有标志。

+0

我不知道用nvvm做到这一点的方法。尽管如此,文档仍然非常粗略,所以可能有一种方法。 – talonmies 2012-07-14 14:25:19

回答

4

NVCC支持选项--source-in-ptx.

3

请问 nvcc.exe --opencc-options -LIST:source = on -ptx kernel.cu工作吗?我已经安装了cuda 4.2,并且该命令生成带有注释的ptx汇编程序行之间的C代码的* .ptx文件。从CUDA 6.0预览

+0

不要为我工作:'nvcc警告:选项'--opencc-options(-Xopencc)'已过时并被忽略,当针对compute_20,sm_20或更高时' – 2012-07-18 17:58:41

+4

[Here](http://webcache.googleusercontent .com/search?q = cache:7IFbmpUoYdMJ:forums.nvidia.com/index.php%3Fshowtopic%3D217257%26view%3Dold+&cd=4&hl=ru&ct=clnk&client=firefox-a)由nvidia回答。简而言之,该功能即“混合列表”功能与特定于组件的标志相关联。由于CUDA 4.1及更高版本引入了sm_2x及更高版本的新前端,该组件已被替换,因此该标志不再被接受。如果你只是想用它们作为标记,你可以通过插入内联PTX-“汇编器”注释来创建你自己的'asm volatile(“// this is line ...”);'' – Insomnious 2012-07-18 18:24:04

2

您可能需要使用--source-in-ptx-G NVCC标志来看到PTX文件的原代码。