考虑下面的 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 的输出复制回主机?
此外,在异步数据传输中是否绝对需要固定内存使用?
提前致谢。