OpenCL:防止内核缓存

时间:2015-05-14 16:11:02

标签: opencl gpgpu

我正在使用opencl开始我的第一步,现在遇到了问题。我正在使用带有GT540m显卡的NVIDIA OpenCL lib。

现在看来内核在编译后被缓存,并且在我对内核进行一些更改时不会重新编译。为了测试我正在向输出缓冲区写入一些值,但是当我在内核中更改这些值时,输出保持不变。

如何防止此行为?

非常感谢。 问候罗宾

1 个答案:

答案 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);