2010-09-16 71 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

似乎不是很優雅,但哦