1)我想从CUDA exe中提取ptx代码,并在另一个程序中使用该内核代码。 有没有办法从exe中识别内核ptx代码。我知道它们是在exe文件数据部分中任意布局的。
我了解到在MAC可执行文件中,ptx内核以.version开头并以空字符串结尾。 win exe(PE)文件是否有类似的东西。我想我需要解析exe文件,一次收集一个ptx语句并将它们组合在一起作为内核。但我不知道我会怎么做。一些帮助会让我开始。我还在Cuda exe中找到了一个.nvFatBi部分。应该是什么?
2)我还了解到有全局构造函数使用cuda运行时注册cubin。我完全不理解这部分。函数cudaRegisterFatBinary是否在这里发挥作用。如果是这样,我如何使用此ptx提供指向cudaRegisterFatBinary的指针?我知道我必须将ptx编译为cubin文件。有可能以编程方式吗?总之,我想在某种意义上模仿nvcc本身。
答案 0 :(得分:1)
尝试:cuobjdump --dump-ptx [executable-name]