有没有人在Cuda4上成功测试了这个特性?看起来我不能让它正常工作,不确定它是我代码中的一个bug,还是这个功能还没有完全实现。
例如,我想在将内存从一个gpu复制到另一个gpu之后进行内核调用。流0,在gpu0流1上创建mem0,在gpu1上创建mem1。两人都是费米·特斯拉(C2070)
cudaMemcpyAsync( mem1, mem0, size, cudaMemcpyDefault, stream0 );
cudaEventRecord(P2Pevent, stream0);
cudaStreamWaitEvent(stream1, P2Pevent, 0);
cudaKernel<<<block,thread,0,stream1>>>(mem1);有时候,内存似乎还没有为内核做好准备,所以结果是不正确的。如果我在Gpu0上添加一个cudaDeviceSynchronize,那么它工作得很好。
谢谢
发布于 2011-04-05 16:06:29
这是我的代码中的一个bug!它确实工作正常,谢谢各位
https://stackoverflow.com/questions/5540187
复制相似问题