3

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

基于这个 SO 问题,OpenCL 在线编译:从 cl::program 或 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 内核的汇编代码?

4

1 回答 1

0

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

于 2019-03-21T23:17:47.977 回答