如何解决使用 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 举报,一经查实,本站将立刻删除。