GPU ↔ FPGA over PCIe: asynchronous P2P / GPUDirect RDMA

I’m exploring a GPU + FPGA design and trying to understand what is possible with current NVIDIA hardware/software.

If an FPGA is connected to the same PCIe hierarchy as an NVIDIA GPU:

  • Can the GPU submit a small request to the FPGA and continue running other CUDA kernels while the FPGA processes it?
  • Can the FPGA DMA the result directly into GPU memory using GPUDirect RDMA / PCIe P2P?
  • What is the recommended mechanism for synchronization/completion without blocking the GPU?

Conceptually:

GPU → small request → FPGA does work using local memory → result → GPU

while the GPU continues doing other work.

Is this a supported/practical architecture today? Any relevant NVIDIA documentation or examples would be appreciated.

Thanks
Zvi