我正在使用opencl开始我的第一步,现在遇到了问题。我正在使用带有GT540m显卡的NVIDIA OpenCL lib。
现在看来内核在编译后被缓存,并且在我对内核进行一些更改时不会重新编译。为了测试我正在向输出缓冲区写入一些值,但是当我在内核中更改这些值时,输出保持不变。
如何防止此行为?
非常感谢。 问候罗宾
答案 0 :(得分:4)
void enable_cuda_build_cache(bool enable)
{
#ifdef _MSC_VER
if (enable)
_putenv("CUDA_CACHE_DISABLE=0");
else
_putenv("CUDA_CACHE_DISABLE=1");
#else // GCC
if (enable)
putenv("CUDA_CACHE_DISABLE=0");
else
putenv("CUDA_CACHE_DISABLE=1");
#endif
}
禁用缓存调用:enable_cuda_build_cache(false);