私のタイプの定義
#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;
ConvertArray
aを openCL カーネルに渡したい (および取得したい) 。
カーネルでまったく同じタイプを定義しました。パスとリトリーブはできますが、最終的にこのコードによってマシンがクラッシュ/フリーズします。setKernelArg をコメント アウトし、この引数の enqueuReadBuffer を実行すると、コードが再度実行されます。
質問:
そのようなタイプをカーネルとの間で送受信できますが、間違っていますか?
また
cl_mem
の配列用のバッファを作成する必要がありconvect
ますか?
また
他の何か?