これは必ずしも CUDA 固有のものではありません。
基本的に、GPU では 1D 配列を使用しますが、C コードでは 3D 配列を使用します。この配列を前後にコピーする必要があり、インデックスを適切に線形化できる必要があります。つまり、(1, 0, 0) を 1 として線形化するか、(0, 1, 0)、または (0, 0, 1) の形式で、正しい番号付けスキームを選択する必要があります。 (x、y、z)?
3D 配列は array[X][Y][Z] として宣言されます。その 3D 配列を同じサイズの 1D 配列にコピーすると、コンピューターは自然にどのように番号を付けますか? ただし、コンピューターは 3 次元配列を折りたたむため、2 つの間で変換しようとするときにまったく同じことを行う必要があります。言いたいことははっきりしていると思いますが、質問があれば聞いてください。ありがとうございました。