Anyone tests simpleP2P.cu in EC2?

Hi, there!

Recently, I have tested a simpleP2P.cu in EC2.
“simpleP2P” is included in NVIDIA_GPU_Computing_SDK.

But after lunching a complied simpleP2P program in EC2, it was freezed.
And I couldn’t do anything.

I am wondering that anybody got a success in EC2?
and Peer to Peer’s real features.

also Is it possible that one device can access(read/write) memory on other device during working on both device?

Of course I read an article(http://forums.nvidia.com/index.php?showtopic=196269&st=20).
only GTX 590 supports P2P features?

Hi,

I’m not sure what EC2 is, but I can answer your last question. I have a server with 4 X GTX580 and was curious about P2P as well. Using ‘simpleP2P.cu’ I had to edit the code to remove the “Tesla” string comparison, and cloned some lines to check P2P access between more than two devices. Here is the result:

Checking for multiple GPUs...

CUDA-capable device count: 4

> GPU0 = "GeForce GTX 580" IS  capable of Peer-to-Peer (P2P)

> GPU1 = "GeForce GTX 580" IS  capable of Peer-to-Peer (P2P)

> GPU2 = "GeForce GTX 580" IS  capable of Peer-to-Peer (P2P)

> GPU3 = "GeForce GTX 580" IS  capable of Peer-to-Peer (P2P)

Checking GPU(s) for support of peer to peer memory access...

> Peer access from GeForce GTX 580 (GPU0) -> GeForce GTX 580 (GPU1) : Yes

> Peer access from GeForce GTX 580 (GPU1) -> GeForce GTX 580 (GPU0) : Yes

> Peer access from GeForce GTX 580 (GPU0) -> GeForce GTX 580 (GPU2) : Yes

> Peer access from GeForce GTX 580 (GPU2) -> GeForce GTX 580 (GPU0) : Yes

> Peer access from GeForce GTX 580 (GPU0) -> GeForce GTX 580 (GPU3) : Yes

> Peer access from GeForce GTX 580 (GPU3) -> GeForce GTX 580 (GPU0) : Yes

Enabling peer access between GPU0 and GPU1...

Enabling peer access between GPU0 and GPU2...

Enabling peer access between GPU0 and GPU3...

Checking GPU0 and GPU1 for UVA capabilities...

> GeForce GTX 580 (GPU0) supports UVA: Yes

> GeForce GTX 580 (GPU1) supports UVA: Yes

Checking GPU2 and GPU3 for UVA capabilities...

> GeForce GTX 580 (GPU2) supports UVA: Yes

> GeForce GTX 580 (GPU3) supports UVA: Yes

Both GPUs can support UVA, enabling...

Allocating buffers (64MB on GPU0, GPU1 and CPU Host)...

Creating event handles...

cudaMemcpyPeer / cudaMemcpy between GPU0 and GPU1: 4.91GB/s

Preparing host buffer and memcpy to GPU0...

Run kernel on GPU1, taking source data from GPU0 and writing to GPU1...

Run kernel on GPU0, taking source data from GPU1 and writing to GPU0...

Copy data back to host from GPU0 and verify results...

Enabling peer access...

Shutting down...

[/home/cardinal/NVIDIA_GPU_Computing_SDK/C/bin/linux/release/simpleP2P] test results...

PASSED

Interesting to note the bandwidth is 4.9GB/s over the PCIe X16 bus, rather than the reported 6GB/s internally in a GTX590.

EC2 is Amazon Web Services Cloud offering.

Hi,

I’m trying to use peer-to-peer communication between 4 X GTX580 but, when I run “Device Query” or “SimpleP2P” it says me that my GTX580 is not capable of P2P and it doesn’t support UVA. I’ve tried it with 280.x drivers (CUDA 4.0) and 286.x (CUDA 4.1).

Do I have to enable any option?

I use Windows 7 64bits.

Thank you!

for UVA support in windows 7 is needed tesla card with tcc driver model.

Otherwise you could move to a linux 64 bit OS.