I’m trying to achieve PCIe P2P between an NVIDIA L4 GPU and a custom PCIe video accelerator that supports Linux dma‑buf import/export. P2P works in the GPU→Video Accelerator direction (the accelerator can import CUDA‑exported dma‑bufs and perform DMA reads), but the reverse direction fails: when the accelerator exports a dma‑buf, CUDA cannot import it and the operation immediately errors out (cudaNotSupported). The PCIe topology supports peer routing, and the accelerator’s dma‑buf exports work with other GPUs, so this appears specific to the CUDA/L4 GPU or its driver stack. I’m trying to understand whether the L4 can import standard Linux dma‑bufs originating from third‑party devices, and if not, whether this is due to required configuration steps or fundamental driver/GPU limitations. Any guidance on enabling accelerator→GPU P2P on L4 would be appreciated. I have searched the NVIDIA forums but could not find a concrete answer on this topic.
System Details
-
PCIe Topology: Both devices are in the same root complex
-
GPU Driver: NVIDIA driver 590.44.01 (license: Dual MIT/GPL)
-
CUDA Version: 13.1
-
Operating System: Ubuntu 24.04.3 LTS
-
Kernel Version: 6.8.0‑90‑generic