1

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

例如,我想在将内存从 1 个 gpu 复制到另一个 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 那么它工作正常。

谢谢

4

1 回答 1

0

这是我的代码中的一个错误!它确实工作正常谢谢大家

于 2011-04-05T08:06:28.963 回答