Cuda 4 GPU间同步

时间:2011-04-04 14:46:58

标签: cuda multi-gpu

有没有人在Cuda4上成功测试过此功能?似乎我无法正常工作,不确定它是否是我的代码中的错误或该功能尚未完全实现。

例如,我希望在将内存从1个gpu复制到另一个内存后进行内核调用。流0,mem0在gpu0流1上创建,mem1在gpu1上创建。两者都是费米特斯拉(C2070)

cudaMemcpyAsync( mem1, mem0, size, cudaMemcpyDefault, stream0 );
cudaEventRecord(P2Pevent, stream0);

cudaStreamWaitEvent(stream1, P2Pevent, 0);
cudaKernel<<<block,thread,0,stream1>>>(mem1);

有时似乎内存还没有为内核做好准备,所以结果是不正确的。如果我在Gpu0上添加一个cudaDeviceSynchronize,那么它可以正常工作。

谢谢

1 个答案:

答案 0 :(得分:0)

这是我的代码中的错误!它确实工作正常 谢谢你们