如何在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]);
}
答案 0 :(得分:5)
您不需要为每个函数创建一个程序,而是为一组标有__kernel
(或kernel
)和潜在辅助函数(如您的函数)的函数创建程序AddVectors
函数)使用例如clCreateProgramWithSource
调用。
查看Apple,AMD,NVIDIA的基本教程..