gpudirect rdma samples


we have now university CUDA courses providing us students access to nvidia Kepler cards and mellanox connect-x3 cards with 40GBE ethernet switches.

As I am reading about the hardware, I am getting more interested beyond the course work (which is mainly about cuda programming bascis).

I do not really know if I am understanding all facets of gpudirect rdma. Is there any source for sample programs which do useful things?

What I am interested in is for example a GPU network communication sample like the following:

  1. Connect-x3 card #1 receives a packet copies it to Tesla card

  2. Tesla card does a ROT13 on the string in tcp payload … just an example

  3. Tesla card decides the ethernet packet with rotated payload should be sent to another server, generates the ethernet packet and sends it through Connect-x3 card #2

So you see what I am interested in is probably a sort of basic gpu accelerated massive parallel network accelerator. I think of for example a SSL accelerator sitting between network routers and the host doing all SSL encryption for it. But I am at moment only interested if and how it is possible to this basic work (e.g. receive packet in gpu, edit packet, send packet to another host)

Many thanks!

I believe you might need to contact to assist with the application/ CUDA implementation.

There is useful material found here to get your started understanding the basics of GPUDirect RDMA, which is an implementation for RDMA communication between GPU Devices over InfiniBand or RoCE protocols.

You might find useful implementation & methods available in the Open MPI 1.7.4 or later which has support for CUDA / GPUDirect RDMA.