gpt4 book ai didi

java - OpenCL 构建错误

转载 作者:行者123 更新时间:2023-12-01 13:48:58 25 4
gpt4 key购买 nike

如果我不小心引用了 OpenCL 内核中不存在的函数,即使我解决了问题,编译器也会表现得好像我没有解决问题一样。例如。

__kernel void doSomething(__global unsigned int *array){
f(array)
}

显然 f 不存在,我会得到一个错误。但是,如果我编写 f 方法,编译器将继续给出此错误。

Exception in thread "main" org.jocl.CLException: CL_BUILD_PROGRAM_FAILURE
Build log for device 0:
kernel referenced an external function f, that could not be found.

无论我进行什么更改,我都可以删除任何内核的主体,以便 .cl 最终字面意义上不包含任何代码,并且编译器仍然会导致此错误。即使创建一个新文件并将内容复制到其中,或者更改程序参数或名称也没有效果。我被这个错误困住了。重新启动计算机也不起作用。

编辑

我在 MacBook Pro 版本 10.9 上运行此程序

最佳答案

我过去遇到过 OpenCL 缓存代码的问题,这解决了我的问题。

// Setting this environment variable forces the OpenCL 
// source code to be recompiled every time.
setenv("CUDA_CACHE_DISABLE", "1", 1);

当然,这仅在您使用 NVIDIA 平台时才有意义。

关于java - OpenCL 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20119641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com