OpenCL用户定义的内联函数

是否可以在OpenCL代码中定义我自己的函数,以便内核可以调用它们?是的,在哪里可以看到一些简单的例子?

解决方法

用于创建程序的功能是…
cl_program clCreateProgramWithSource  (     
    cl_context context,cl_uint count,const char **strings,const size_t *lengths,cl_int *errcode_ret)

你可以把这个函数放在strings参数中,

float AddVector(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] = AddVector(a[index],b[index]);
}

现在你有一个用户定义的函数“AddVector”和一个内核函数“VectorAdd”

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...