私はハードワークを行うCUDAカーネルを持っていますが、CUDAで書き込むことができなかったCPUで実行する必要のあるハードワーク(同じ配列の2つの位置での計算)もあります(CUDAスレッドが同期していないため) 、配列の位置Xでハードワークを実行する必要があります。その後、z [x] = y [x] --y [x -1]を実行します。ここで、yは、各スレッドが動作するCUDAカーネルの結果の配列です。この配列の1つの位置とzは、結果を格納する別の配列です)。だから私はCPUでこれをやっています。
CPU側の作業を行うためのCPUスレッドがいくつかありますが、それぞれがCUDAカーネルを呼び出してデータを渡します。私の質問は、複数のCPUスレッドがGPU呼び出しを行っている場合、GPU側で何が起こるかということです。CUDAカーネル呼び出しを1回実行してから、CPU側の作業を実行するために複数のCPUスレッドを作成するとよいでしょうか。