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