4

如何在 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]);
}
4

1 回答 1

5

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

查看来自 Apple、AMD、NVIDIA 的基本教程。

于 2010-08-02T00:48:02.270 回答