0

我的类型的定义

#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吗?

或者

还有什么?

4

0 回答 0