【问题标题】:How to output C/C++ annotated PTX in CUDA 4.1/4.2/5.0如何在 CUDA 4.1/4.2/5.0 中输出带 C/C++ 注释的 PTX
【发布时间】:2012-07-13 23:02:24
【问题描述】:

有人知道如何使用带有新 LLVM 后端的 C/C++ 代码注释 PTX 汇编器吗?

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

【问题讨论】:

  • 我不知道如何使用 nvvm 做到这一点。文档仍然很粗略,所以可能有办法。

标签: cuda llvm ptx


【解决方案1】:

CUDA 6.0 预览版中的 nvcc 支持选项 --source-in-ptx.

【讨论】:

    【解决方案2】:

    nvcc.exe --opencc-options -LIST:source=on -ptx kernel.cu 有效吗?我已经安装了 cuda 4.2,这个命令生成 *.ptx 文件,在 ptx 汇编器行之间带有注释的 C 代码。

    【讨论】:

    • 不要为我工作:nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when targeting compute_20, sm_20, or higher
    • Here 是英伟达的回答。简而言之,此功能(即“混合列表”功能)与特定于组件的标志相关联。由于 CUDA 4.1 及更高版本为 sm_2x 及更高版本引入了新的前端,该组件已被替换,因此该标志不再被接受。如果您只是想将它们用作标记,您可以通过插入内联 PTX-"assembler" cmets 来制作自己的标记,如下所示asm volatile ("// this is line ...");
    【解决方案3】:

    您可能希望使用 --source-in-ptx-G nvcc 标志来查看 PTX 文件中的原始代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 1970-01-01
      • 2014-02-10
      相关资源
      最近更新 更多