問題の原因を突き止めることはできません。最後の行に「アクセス違反の書き込み場所」エラーが表示されます。メモリを正しく割り当てていないのですか?CUDA:ポインタメモリアクセスへのポインタ
typedef struct {
doubleXYZW cen_sum; //struct with 4 doubles
double STS[6];
XYZW *Points;// //struct with 4 floats
}BUNDLE;
BUNDLE *cpu_data = NULL;
size_t bundle_size = NUM_POINTS * sizeof(XYZW) + sizeof(doubleXYZW) + 6*sizeof(double);
HANDLE_ERROR(cudaMallocHost((BUNDLE**)&cpu_data, bundle_size));
//error in the next line
cpu_data->Points[0].x = 0; //x is the first element in the XYZW struct
詳細レッスンありがとうございます。それは理にかなっている。私は明らかに、Cでこのレベルの複雑さを実装していないので、CUDAと遭遇しました。あなたが提案したように、2番目のオプションはうまくいき、割り当て時間も節約されるでしょう。 – Nenu