0

我创建了一个冒泡排序代码。用户函数 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: 错误:预期的外部声明***

请告诉我错误是什么,我该如何纠正它......?

4

1 回答 1

2

You missed a _ in your program. The error is obvious.I dont think the code pasted here is the same as you run. Correct your _kernel to __kernel in your program.

于 2013-02-09T07:56:06.763 回答