微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 nvdisasm 生成 PTX 代码的控制流图像

如何解决使用 nvdisasm 生成 PTX 代码的控制流图像

我有一个编译为中间语言 PTX 代码的 CUDA 代码文件example.ptx我有兴趣开始研究这个简短的文件,试图了解它是如何工作的。

我以前没有摆弄中间代码表示的经验,但我收集到的是我可以打印出控制流的图形,以支持我尝试对其进行逆向工程。 Cuda Binary Utilities 提到 nvdisasm 并显示了控制流的不错的 Graphviz 图形,但它似乎仅适用于 cubin 文件。我知道这些 cubin 文件是从 PTX 进一步优化的,具体取决于当前的 GPU 架构。

我的问题是:我可以使用 nvdisasm 从 example.ptx 生成控制流图像,还是将 ptx 文件编译为 cubin 文件,然后使用它来生成图像?

解决方法

或将 ptx 文件编译为 cubin 文件,然后使用该文件

是的,你可以这样做。使用以下命令将 ptx 文件编译为 cubin:

nvcc example.ptx -cubin 

(结果将在 example.cubin 中,或者您可以添加例如 -o myfile.cubin 以将其命名为其他名称)

这个 cubin 文件可以送到 nvdisasm 进行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。