Configuring GPU access with NVIDIA vGPU

NVIDIA vGPU technology enables a single physical GPU to be divided into multiple virtual instances, allowing multiple virtual machines to share GPU resources. This improves GPU utilization, reduces infrastructure costs, and maintains performance isolation for AI, data analytics, and graphics workloads.

Important: Make sure that your GPU hardware is supported by NVIDIA vGPU technology. To get the complete list of supported GPU cards, see NVIDIA documentation.
For the procedure to configure NVIDIA vGPU for virtual machines in OpenShift® Virtualization, see NVIDIA documentation.
Important: While you follow the NVIDIA documentation, take note of the following two steps that must be done differently:
  1. To enable sandbox workloads for vGPU, you must configure additional parameters in the ClusterPolicy for the GPU operator.
    sandboxWorkloads.enabled=true
    sandboxDevicePlugin.enabled=true
    sandboxWorkloads.defaultWorkload=vm-vgpu
    vfioManager.enabled=false
  2. After completing the step creating a ClusterPolicy for the GPU operator in the NVIDIA documentation, you must label the GPU node with the specific vGPU device profile.
    oc label node <gpu-node-name> \
      nvidia.com/vgpu.config=<vgpu-device-name> \
      --overwrite

    Replace <gpu-node-name> with the name of your GPU-enabled node, and <vgpu-device-name> with the vGPU profile that you want to enable. For example, on NVIDIA RTX Pro 6000 Blackwell GPUs, a valid vGPU profile is DC-48Q. You can find the appropriate vgpu-device-name in the default-vgpu-devices-config ConfigMap, or in a custom ConfigMap if created.

    To identify the correct profile, search for the device_id that matches your GPU, using the last four characters of the device ID as a reference.