【问题标题】:How can I force Apple's OpenCL compiler to recompile a cached kernel?如何强制 Apple 的 OpenCL 编译器重新编译缓存的内核?
【发布时间】:2010-09-16 22:51:18
【问题描述】:

我想在我的 OpenCL 内核中使用 #include 语句,但 Apple 的 OpenCL 编译器似乎缓存了内核,因此如果您更改了包含文件的内容,而不是执行包含的文件,则程序在运行之间不会更改。

我编写了一个示例来说明这一点: http://github.com/enjalot/adventures_in_opencl/tree/master/experiments/inc/

如果您编译并运行,它应该可以正常工作。然后,如果您注释掉 inc.cl 中的结构定义,它仍然可以正常运行(或更改 lvl2.cl 中的任何内容)

在 Ubuntu 上使用 NVIDIA 编译器可以获得预期的行为。

那么有没有办法强制 clBuildProgram 重新编译内核?

【问题讨论】:

    标签: opencl


    【解决方案1】:

    我从 perfoptimization-dev@apple.com 邮件列表中得到了答复

    sudo killall cvmsServ

    看起来不是很优雅,但还不错

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2017-10-23
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多