Peer to Peer Cuda Kernels - OpenGL Interop

时间:2012-06-15 06:54:55

标签: opengl interop cuda p2p

我有2台设备(geforce 680s),启用了对等访问并在它们之间进行了验证。但是,我无法从“设备1”编辑“设备0”上的缓冲区。这是我的代码:

// map 2 pixel buffer objects to primary device
uchar4* dev0_buffer0=NULL;
uchar4* dev0_buffer1=NULL;
cudaSetDevice(0);
cudaGLMapBufferObject((void**)&dev0_buffer0, m_pbo0);
cudaGLMapBufferObject((void**)&dev0_buffer1, m_pbo1);
kernel<<< nBlocks, nThreads>>>(dev0_buffer0, width, height);

// write to a pbo on device 0 using device 1
cudaSetDevice(1);
kernel<<< nBlocks, nThreads>>>(dev0_buffer1, width, height);

设备0可以写入映射到它的两个缓冲区,但如果我尝试使用设备1写入其中一个缓冲区(如上面的代码中所示),则不会发生任何事情。没有错误或崩溃,它只是不影响缓冲区(我正在渲染屏幕进行检查)

这不可能吗?

0 个答案:

没有答案