Configure GPUDirect RDMA with the NVIDIA GPU Operator
Set up GPUDirect RDMA on Kubernetes using the NVIDIA GPU Operator with either DMA-BUF or legacy nvidia-peermem, including Network Operator integration.
π‘ Quick Answer: Install the GPU Operator and Network Operator together. DMA-BUF is the default RDMA transport; add
--set driver.rdma.enabled=trueonly if you need the legacynvidia-peermempath.
GPUDirect RDMA enables direct data transfer between GPUs and network devices over PCI Express, bypassing CPU memory copies. The GPU Operator and Network Operator work together to configure the full stack.
Platform Support
GPUDirect RDMA is supported on:
- Kubernetes on bare metal
- vSphere VMs with GPU passthrough and vGPU
- VMware vSphere with Tanzu
- Red Hat OpenShift (via NVIDIA AI Enterprise)
Installation
DMA-BUF Mode (Recommended)
helm install --wait --generate-name \
-n gpu-operator --create-namespace \
nvidia/gpu-operator \
--version=v25.10.1With Host MOFED
helm install --wait --generate-name \
-n gpu-operator --create-namespace \
nvidia/gpu-operator \
--version=v25.10.1 \
--set driver.rdma.useHostMofed=trueLegacy nvidia-peermem Mode
helm install --wait --generate-name \
-n gpu-operator --create-namespace \
nvidia/gpu-operator \
--version=v25.10.1 \
--set driver.rdma.enabled=trueVerify the Installation
Check the driver DaemonSet structure:
kubectl describe ds -n gpu-operator nvidia-driver-daemonsetLook for:
mofed-validationinit container β waits for network driversnvidia-driver-ctrβ main driver containernvidia-peermem-ctrβ present only whendriver.rdma.enabled=true
If using legacy mode, verify the module loaded:
kubectl logs -n gpu-operator ds/nvidia-driver-daemonset -c nvidia-peermem-ctrExpected output:
successfully loaded nvidia-peermem moduleSet Up a Test Network
Create a secondary macvlan network for RDMA traffic:
apiVersion: mellanox.com/v1alpha1
kind: MacvlanNetwork
metadata:
name: rdma-test-network
spec:
networkNamespace: "default"
master: "ens64np1" # Replace with your IB interface
mode: "bridge"
mtu: 1500
ipam: |
{
"type": "whereabouts",
"range": "192.168.2.225/28"
}kubectl apply -f rdma-test-network.yaml
kubectl get macvlannetworks rdma-test-networkWhy This Matters
GPUDirect RDMA eliminates CPU-staged copies for GPU-to-GPU network communication, enabling near line-rate throughput for distributed training and HPC workloads.

Recommended
Kubernetes Recipes β The Complete Book100+ production-ready patterns with detailed explanations, best practices, and copy-paste YAML. Everything in one place.
Get the Book βLearn by Doing
CopyPasteLearn β Hands-on Cloud & DevOps CoursesMaster Kubernetes, Ansible, Terraform, and MLOps with interactive, copy-paste-run lessons. Start free.
Browse Courses βπ Deepen Your Skills β Hands-on Courses
Courses by CopyPasteLearn.com β Learn IT by Doing
