如何在OpenCL中定义函数?

Kay*_*ano 4 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]);
}
Run Code Online (Sandbox Code Playgroud)

Str*_*ger 5

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

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