GPU and Ethernet communication

Hello,

We are studying the possible developpment of GPGPU solution for image processing. Once the process is done, we need to send an array of bytes to electronic board with a RAW Ethernet format.

Currently, we don’t have GPGPU solution, so we can pass throught CPU and use WinPCap dll to send our data throught Ethernet.

We have seen that GPUdirect RDMA technology allows to communicate between GPU and other PCIe devices (Ethernet), is that right ? If yes, do we have to know the full design of the Network card (memory maping) ?

We cannot afford to bring back data from GPU TO CPU because of their size.

We haven’t found many example and documentation on this subject yet and we want to be sure of the possibility to do what we need before starting the developpement.

Thanks all.

Yes. GPUdirect RDMA technology does allow you to transfer data between GPU and other PCIe devices (Ethernet) on LINUX os.

But you have to take charge of everything about the Network card if you decide to do so , which
is the major reasons why only a very small group of Network card manufactures claims their
support of GPUdirect RDMA technology .

Fortunatly , you can turn to our GFDMA solution which is more powerful than GPUdirect RDMA technology .
( The product brief : http://www.visionctrl.com/GFDMA.pdf ;
for application note : http://www.visionctrl.com/an_gfdma_004.pdf )

Moreover , we provide Gigabyte Ethernet solution with hard TCP/UDP protocol — no firmware or
software intervention. The speed is close to physical limit for UDP protocol.

Please get access to us at service@visionctrl.com if you are interested. Thankyou !

Thanks for your answer but we’re working only on Windows 7 64bits.

Unfortunately we can’t use your solution because we can’t change the electronic board behind the Ethernet card.

Any other solutions ?

Thanks.

Yes. You can turn to Microsoft for help since they claimed that they “found” a way even though NVIDIA never say there is such a technology at their cards .

I would like to ‘up’ this topic. Does anybody have an example of how can I send data array from CUDA to NIC by GPUDirect? How to setup the destination IP and make all UDP headers?

hardware:
I have NIC as the ConnectX-6 Dx network and Nvidia video card with RDMA support.

1 Like