反汇编OpenCL内核?

Pat*_*ick 11 gpu gpgpu opencl disassembly

我不确定是否可能.我想深入研究OpenCL,所以我想知道是否有一个工具来反汇编已编译的OpenCL内核.

对于普通的x86可执行文件,我可以使用objdump来获取反汇编视图.是否有类似OpenCL内核的工具呢?

Zk1*_*001 6

您可以执行以下操作来反汇编OpenCL内核:

  1. 使用clGetEventProfilingInfo将ptx代码转储到文件,比如ptxfile.ptx.请参阅OpenCL规范以获得有关此功能的更多详细信息.

  2. 使用nvcc将ptx编译为cubin文件,例如:"nvcc -cubin -arch = sm_20 ptxfile.ptx"将ptxfile.ptx编译到compute capability 2.0设备上.

  3. 使用cuobjdump将cubin文件反汇编为GPU指令.例如:"cuobjdump -sass ptxfile.cubin"

希望这可以帮助.

  • 值得注意的是,虽然所有这些都是正确的,但它完全特定于NVIDIA工具链,并不适用于其他供应商的实施. (8认同)