gpt4 book ai didi

debugging - printf 函数在 OpenCL 内核中不起作用

转载 作者:行者123 更新时间:2023-12-02 23:21:01 25 4
gpt4 key购买 nike

您好,我正在尝试在 PS3 上调试 OpenCL 内核代码。这是代码:

#pragma OPENCL EXTENSION cl_khr_byte_addressable_store : enable

int offset() {
return 'A' - 'a';
}

__kernel void tKernel(__global unsigned char *in, __global unsigned char *out) {
size_t i;
printf(“var”);
for (i = 0; i < 10; i++)
out[i] = in[i] + offset();
}

在IBM OpenCL_guide.pdf第18页4.3.3节中,有使用printf方法描述调试内核。所以我将 printf 函数添加到我的内核中并尝试测试它。但是 OpenCL 编译给了我这个错误:

“IBM_OpenCL_kernel.cl”,第 9.15 行:1506-766 (S) 通用字符名称“?”不在标识符允许的范围内。

我还导出了LD_LIBRARY_PATH变量。有人会遇到这个问题吗?

最佳答案

我不知道IBM的实现,但printf()是一个非标准的OpenCL函数。在 AMD 平台上,您必须通过以下方式启用扩展:

#pragma OPENCL EXTENSION cl_amd_printf : enable

在 printf() 起作用之前。也许还需要在 IBM 平台上启用扩展?

(更新)来自this page ,可能使用的扩展名称可能是 cl_intel_printf,因此请尝试:

#pragma OPENCL EXTENSION cl_intel_printf : enable

关于debugging - printf 函数在 OpenCL 内核中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782388/

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