Is GPUDirect RDMA supported under Windows?


I would like to transfer data directly from a frame grabber to a GPU and therefore use RDMA. It seems to be possible to use the nVidia Kernel API (nv-p2p.h) to get the physical addresses from GPU virtual addresses using function “nvidia_p2p_get_pages()”.
This seems to be made possible by nVidia via the GPUDirect API (
This section shows how to check if a given Virtual Address belongs to GPU memory or not and how to convert it to a list of physical addresses if it is GPU memory.

The question is: “Is this available under Windows?”

I too am interested in transferring data from a frame grabber to GPU using RDMA.

I am also trying to transfer image data directly from a frame grabber to a Tesla (K20) using RDMA. But is seems that there is not enough documentation on this. Has anybody has successfully transfer data to the GPU through RDMA??

What information would you need that is not covered by this document:

Although the document is a great springboard, there is some additional information that would make my life much easier.

The document specifies developing for a Linux system. In other documentation, it appears that Red Hat is the preferred (or most common) distribution. Is there support for RDMA in Windows 7? Windows 8?

Are all Kepler-class GPUs supported? What about those in laptops?

Thanks in advance for any help. I would hate to spend time and money on paths that have no chance of success.

Thanks for the feedback. I will forward this internally so clarifications to the documentation can be made going forward.


But what is the answer? Is the GPUDirect API available for the Windows platform?

I too am interested in support for GPUDirect RDMA for Microsoft Windows. Can someone please give me a confirmation that it is either only supported for Linux or supported across multiple platforms?

The developer guide i found seems to be focused on Linux in particular.

Thanks in advance.