OpenCL:防止内核缓存

use*_*003 5 gpgpu opencl

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

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

我该如何防止这种行为?

非常感谢.问候知更鸟

doq*_*tor 5

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
}
Run Code Online (Sandbox Code Playgroud)

要禁用缓存调用:enable_cuda_build_cache(false);