Peer-to-peer communication between GPU and FPGA

Hi,

i was able to successfully run this P2P example between NV GPUs: cuda-samples/Samples/0_Introduction/simpleP2P at master · NVIDIA/cuda-samples · GitHub

now i have an Xilinx FPGA device connected to the same machine, and i want to know if it is possible to use CUDA runtime APIs to realize P2P memory copy between FPGA and GPU.

specifically, I have a NV 1080ti GPU and Xilinx U280 FPGA which are both P2P capable: https://xilinx.github.io/Vitis_Accel_Examples/2020.2/html/p2p_fpga2fpga.html

but it seems that cuda runtime APIs can only enable P2P access between two NV GPUs

  checkCudaErrors(cudaSetDevice(gpuid[0]));
  checkCudaErrors(cudaDeviceEnablePeerAccess(gpuid[1], 0));

No, you can’t do this strictly with the CUDA runtime API. It requires a GPUDirect RDMA (GDR) driver be written or available for your non-GPU device (Xilinx FPGA).

The public documentation starting point for this activity is here. Sorry I mostly won’t be able to answer further questions or help you write a GDR driver for your device, or test or troubleshoot that driver, or locate or recommend a driver for your device.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.