使用OpenCL在内核函数中使用变量

时间:2014-06-19 04:58:31

标签: opencl

我的代码如下。 * 主持人代码******

//some declarations
cl_mem Curr_domain = NULL;
cl_mem dMobj = NULL;

//created  check, AvgBlk of type structure domainBlock

// now creating buffers for above datatypes
dMobj = clCreateBuffer(context, CL_MEM_READ_ONLY|CL_MEM_USE_HOST_PTR, 
    dCount*sizeof(struct domainBlock), AvgBlk, &ret);
Curr_domain = clCreateBuffer(context, CL_MEM_READ_WRITE, dCount *
    sizeof(struct domainBlock), check, &ret);

//passed these 2 objects to the kernel

******* kernel code******

__kernel void calculateRms( __global struct domainBlock* dMobj, 
        __global struct domainBlock* Curr_domain )
{
    int l = get_global_id(0);
    int i=0;
    int iType=0;

    for(iType =0; iType<8;iType++)
    {
        if(iType==0)
        {
            Curr_domain = dMobj;
        }
    }
}

这给我构建失败错误!

但是如果我初始化Curr_domain = dMobj;在循环之前它不会。但我想再这样做6次。所以我该如何解决这个问题呢?

我正在使用英特尔(R)HD Graphics 4000执行此程序。

0 个答案:

没有答案