我创建了一个冒泡排序代码。用户函数createProgram中的clbuildprogram发出错误 我的内核看起来像:
__kernel void sort_kernel(__global const float *a, __global const float *b)
{
const int n=100;
int j;
float temp;
int gid = get_global_id(0);
b[gid]=a[gid];
for(j=0; j < n-gid; j++)
{
if(b[j+1]<b[j])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}
}
clbuildprogram根据运行时错误发出错误。
***内核错误:: 1:1:错误:未知类型名称'_kernel'
_kernel void sort_kernel(__ global const float * a,__ global const float * b)//,^
:1:9:错误:预期标识符或'(' _kernel void sort_kernel(__ global const float * a,__ global const float * b)//, ^
:21:3:错误:预期外部声明 } ^
:23:1:错误:预期外部声明} ^
:23:1:错误:预期外部声明***
请告诉我错误是什么,我该如何纠正??
答案 0 :(得分:2)
您错过了计划中的_
。错误是显而易见的。我不认为这里粘贴的代码与您运行的代码相同。
在您的计划中更正_kernel
到__kernel
。