2010-09-16 80 views
5

我想在我的OpenCL内核中使用#include语句,但它出现Apple的OpenCL编译器缓存内核,所以如果您更改包含文件的内容但不更改包含文件的内容,程序将不会在运行之间更改。如何强制Apple的OpenCL编译器重新编译缓存的内核?

我已经编写了其说明了这一个例子: http://github.com/enjalot/adventures_in_opencl/tree/master/experiments/inc/

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

在Ubuntu上使用NVIDIA编译器会得到预期的行为。

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

回答

3

我从perfoptimiza[email protected]邮件列表的答案

须藤killall cvmsServ

似乎不是很优雅,但哦