重複の可能性:
ポインターを含む構造体を CUDA デバイスにコピーする
デバイスに割り当てられた配列を指すデバイス ポインターの構造があります。このような
struct mystruct{
int* dev1;
double* dev2;
.
.
}
この構造には多数の配列があります。私はポインタを渡した CUDA カーネルの作成を開始しmystruct
、CUDA カーネル コード内でこのように逆参照しましたmystruct->dev1[i]
。
mystruct
しかし、CUDA の第一原則により、CUDA カーネル内でホスト ポインター (この場合は ) を参照解除できないため、これは機能しないことに数行書いた後で気付きました。
しかし、カーネルに多数の引数を渡さなければならないので、これはちょっと不便です。これを回避する方法はありますか。カーネル呼び出しの引数の数をできるだけ短くしたいと考えています。