如何在OpenCL中定义函数?

时间:2010-08-01 23:00:32

标签: opencl

如何在OpenCL中定义函数?我试着为每个函数构建一个程序。它没有用。

float AddVectors(float a, float b)
{
    return a + b;
}

kernel void VectorAdd(
    global read_only float* a,
    global read_only float* b,
    global write_only float* c )
{
    int index = get_global_id(0);
    //c[index] = a[index] + b[index];
    c[index] = AddVectors(a[index], b[index]);
}

1 个答案:

答案 0 :(得分:5)

您不需要为每个函数创建一个程序,而是为一组标有__kernel(或kernel)和潜在辅助函数(如您的函数)的函数创建程序AddVectors函数)使用例如clCreateProgramWithSource调用。

查看Apple,AMD,NVIDIA的基本教程..