我的类型的定义
#define NA 70
#define NTHR 16
typedef struct {
float
FSUM[NA],
ZIJ[NA],
MASS[NA],
SUB[NA],
FMASS[NA*NA],
FRAC[NA*NA],
MENT[NA*NA],
QENT[NA*NA],
ELIJ[NA*NA],
SIJ[NA*NA];
} Convect;
typedef struct {
Convect cpa[NTHR];
} ConvectArray;
我想将 a 传递(和检索)ConvertArray
到 openCL 内核。
我在内核中定义了完全相同的类型。我可以通过和检索,但最终此代码崩溃/冻结我的机器。当我注释掉这个参数的 setKernelArg 和 enqueuReadBuffer 时,代码再次运行。
问题:
我可以将这样的类型发送到内核或从内核发送,但刚刚犯了一个错误吗?
或者
我需要cl_mem
为数组创建一个缓冲区convect
吗?
或者
还有什么?