【问题标题】:How to get assembly code for OpenCL kernel on AMD GPU with OSX如何使用 OSX 在 AMD GPU 上获取 OpenCL 内核的汇编代码
【发布时间】:2019-03-16 20:02:56
【问题描述】:

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

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

err = clBuildProgram(program, 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 内核的汇编代码吗?

【问题讨论】:

    标签: macos opencl amd-gpu


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 2013-12-27
      • 1970-01-01
      • 2016-03-22
      • 2011-10-05
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多