如何使用OSX在AMD GPU上获取OpenCL内核的汇编代码

时间:2019-03-16 20:02:57

标签: opencl amd

我正在尝试查看在Mac的AMD GPU上运行的OpenCL内核的汇编代码。

基于这个OpenCL online compilation: get assembly from cl::program or cl::kernel这样的问题,我对我的clBuildProgram调用使用了--save-temps,如下所示。

err = clBuildProgram(程序,num_devices,deviceList,“ -save-temps”,NULL,NULL);

但是,此操作失败,错误代码为-43,它转换为CL_INVALID_BUILD_OPTIONS。基于https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clBuildProgram.html,看来规范不支持该选项。

CodeXL着色器/内核分析器之类的工具没有适用于Mac的安装选项。

还有其他方法可以查看OSX上用于AMD GPU的OpenCL内核的汇编代码吗?

1 个答案:

答案 0 :(得分:0)

您可以使用clGetProgramInfo调用CL_PROGRAM_BINARIES来获取平台的“二进制文件”。它是特定于设备/平台的,并且可以将机器代码包装在某些包装器结构中。