有没有人在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,那么它可以正常工作。
谢谢
答案 0 :(得分:0)
这是我的代码中的错误!它确实工作正常 谢谢你们