以下のcudaコードを検討してください。
CudaMemCpyAsync(H2d, data1...., StreamA);
KernelB<<<..., StreamB>>>(data1,...);
CudaMemCpyAsync(D2H, output using data1, ...., StreamA);
「CudaMemCpyAsync(D2H .....、StreamA);」はいつですか コードで始まりますか?KernelBの実行終了後に開始しますか?「CudaMemCpyAsync(D2H .....、StreamA);」を置き換えますか?「CudaMemCpy(D2H .....、StreamA);」KernelBの出力をホストにコピーして戻す必要がある場合はどうなりますか?
また、非同期データ転送ではピン留めされたメモリ使用量が絶対に必要ですか?
前もって感謝します。