开发者

How to define functions in OpenCL?

开发者 https://www.devze.com 2023-01-10 06:34 出处:网络
How do i define functions in OpenCL? I tried to build one program for each function. And it didn\'t worked.

How do i define functions in OpenCL? I tried to build one program for each function. And it didn't worked.

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]);
}


You don't need to create one program for each function, instead you create a program for a set of functions that are marked with __kernel (or kernel) and potentially auxiliary functions (like your AddVectors function) using for example clCreateProgramWithSource call.

Check out basic tutorials from Apple, AMD, NVIDIA..

0

精彩评论

暂无评论...
验证码 换一张
取 消