gpt4 book ai didi

cuda - 如何阅读 PTX?

转载 作者:行者123 更新时间:2023-12-02 07:03:14 27 4
gpt4 key购买 nike

我正在使用 Capabilities 3.5、CUDA 5 和 VS 2010(当然还有 Windows)。

我有兴趣阅读编译后的代码,以更好地了解我的 C 代码更改的含义。

  • 我需要在 VS 中进行什么配置来编译代码以提高可读性(将编译设置为 PTX 是否足够?)?
  • 我需要什么工具对生成的 PTX 进行逆向工程才能读取它?

最佳答案

一般来说,要创建特定 .cu 文件的 ptx 版本,命令是:

nvcc -ptx mycode.cu

这将生成一个 mycode.ptx 文件,其中包含与您使用的文件相对应的 ptx 代码。使用 -src-in-ptx 选项可能也很有启发性:

nvcc -ptx -src-in-ptx mycode.cu

这会将源代码行与它们对应的ptx行穿插。

要理解 ptx,请从 documentation 开始

请注意,由于优化,编译器可能会生成与源代码不完全对应的 ptx 代码,或者在其他方面造成混淆。您可能希望(也许获得洞察力)也使用 -G 开关编译一些测试用例,以查看未优化版本的比较情况。

由于 Windows 环境可能因机器而异,我认为如果您只查看特定版本的 msvc++ 用于调用 nvcc 的路径会更容易(编译时查看其中一个项目的控制台输出)并在我上面给出的命令前面加上该路径。我不确定尝试将其直接构建到 Visual Studio 中是否有很多实用程序,除非您有特定的需要将 from ptx 编译为可执行文件。还有几个sample codes以某种方式与 ptx 有关。

还请注意,ptx 实际上并不是设备执行的内容(但通常非常接近)。它是一个中间代码,可以通过 nvcc 或也存在于 GPU 驱动程序中的编译器的一部分重新定位到系列中的设备。要查看设备实际执行的代码,我们使用可执行文件而不是源代码,提取机器汇编代码的工具是:

cuobjdump -sass mycode.exe

如果需要,关于预先设置适当路径的类似警告。我将从ptx开始。我觉得对于你想做的事情,已经足够了。

关于cuda - 如何阅读 PTX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16875652/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com