我怎样才能强迫苹果';使用OpenCL编译器重新编译缓存内核?

我怎样才能强迫苹果';使用OpenCL编译器重新编译缓存内核?,opencl,Opencl,我想在我的OpenCL内核中使用#include语句,但苹果的OpenCL编译器似乎会缓存内核,因此,如果您更改包含文件的内容,而不是执行包含操作的文件,则程序在运行之间不会更改 我编写了一个示例来说明这一点: 如果编译并运行,它应该可以正常工作。然后,如果您注释掉inc.cl中的结构定义,它仍然可以正常运行(或者更改lvl2.cl中的任何内容) 使用英伟达编译器在Ubuntu上得到预期的行为。 那么有没有办法强迫clBuildProgram重新编译内核呢?我从性能优化中得到了答案-dev@a

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

我编写了一个示例来说明这一点:

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

使用英伟达编译器在Ubuntu上得到预期的行为。


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

我从性能优化中得到了答案-dev@apple.com邮件列表

sudo killall cvmsServ

看起来不太优雅,但是哦,好吧