この質問は、cuda ストリームを使用して多くのカーネルを実行することに関連しています
CUDA には、多くの同期コマンド cudaStreamSynchronize、CudaDeviceSynchronize、cudaThreadSynchronize、およびストリームが空かどうかを確認するための cudaStreamQuery があります。
プロファイラーを使用しているときに、これらの同期コマンドがプログラムに大きな遅延をもたらすことに気付きました。もちろん、できるだけ少ない同期コマンドを使用する以外に、このレイテンシを短縮する方法を誰かが知っているかどうか疑問に思っていました.
また、最も効率的な同期方法を判断する数値はありますか。つまり、アプリケーションで 3 つのストリームが使用されていると見なされ、2 つの cudaStreamSync または 1 つの cudaDeviceSync のみを使用して 4 番目のストリームを起動するには、そのうちの 2 つを完了する必要があります。