【发布时间】:2013-02-01 10:57:35
【问题描述】:
我想给opencl内核传递一个结构体,结构体是
struct test
{
int *x;
float *y;
char *z;
};
而内存分配和初始化就像
struct test t;
t.x = (int*)malloc(sizeof(int)*100);
t.y = (float*) malloc (sizeof(float)*50);
t.z = (char*) malloc (sizeof(char) *25);
for(i = 0;i<100;i++)
{
t.x[i] = i;
if(i<50)
{
t.y[i] = i;
if(i<25)
t.z[i] = 'a';
}
}
我可以将这样的结构传递给 opencl 内核吗
【问题讨论】:
-
不要这样做。首先,它没有任何意义,其次,您的结构包含指针并且将毫无意义。更不用说不同的对齐方式和数据类型宽度了。如果你想通过结构,你肯定做错了什么,是时候重新考虑你的架构了。
标签: opencl pyopencl opencl.net