Difference between revisions of "GPU Support"

From Open-IOV
Jump to navigation Jump to search
Line 8: Line 8:
! colspan="4" |Drivers
! colspan="4" |Drivers
! colspan="3" |[https://openmdev.io/index.php/Virtual_IO_Internals Virtual I/O Assistance Modes]
! colspan="3" |[https://openmdev.io/index.php/Virtual_IO_Internals Virtual I/O Assistance Modes]
! colspan="4" |Userspace
!Kernel
!Kernel
! colspan="4" |Userspace
|-
|-
!Vendor
!Vendor
Line 21: Line 21:
![https://openmdev.io/index.php/Virtual_IO_Internals#SR-IOV_Mode SR-IOV Support]
![https://openmdev.io/index.php/Virtual_IO_Internals#SR-IOV_Mode SR-IOV Support]
![https://openmdev.io/index.php/Virtual_IO_Internals#SIOV_Mode SIOV Support]
![https://openmdev.io/index.php/Virtual_IO_Internals#SIOV_Mode SIOV Support]
!GVM-kernel Support
![https://docs.linux-gvm.org/ GVM-cli Support]
![https://docs.linux-gvm.org/ GVM-cli Support]
![https://docs.linux-gvm.org/ GVM-mgr Support]
![https://docs.linux-gvm.org/ GVM-mgr Support]
!LibGVM Support
!LibGVM Support
![https://libvf.io/ LibVF.IO Support]
![https://libvf.io/ LibVF.IO Support]
!GVM-VFIO
|-
|-
|Intel
|Intel
Line 37: Line 37:
|No
|No
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|Intel
|Intel
Line 53: Line 53:
|No
|No
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|Intel
|Intel
Line 69: Line 69:
|No
|No
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|Intel
|Intel
Line 85: Line 85:
|No
|No
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|Intel
|Intel
Line 101: Line 101:
|No
|No
|No
|No
|
|No
|No
|No
|No
|No
|No
|No
|No
|
|-
|-
|Intel
|Intel
Line 116: Line 116:
|
|
|[https://archive.ph/0McAE#selection-4883.0-4943.35 Yes]
|[https://archive.ph/0McAE#selection-4883.0-4943.35 Yes]
|
|
|
|Yes
|Yes
Line 122: Line 121:
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Intel
|Intel
Line 133: Line 133:
|[https://archive.ph/0McAE#selection-4883.0-4943.35 Yes]
|[https://archive.ph/0McAE#selection-4883.0-4943.35 Yes]
|In Development
|In Development
|
|Yes
|Yes
|In Development
|In Development
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Nvidia
|Nvidia
Line 149: Line 149:
|No
|No
|No
|No
|
|Yes
|Yes
|In Development
|In Development
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Nvidia
|Nvidia
Line 165: Line 165:
|No
|No
|No
|No
|
|Yes
|Yes
|In Development
|In Development
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Nvidia
|Nvidia
Line 181: Line 181:
|No
|No
|No
|No
|
|Yes
|Yes
|In Development
|In Development
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Nvidia
|Nvidia
Line 197: Line 197:
|Yes
|Yes
|No
|No
|
|Yes
|Yes
|In Development
|In Development
|In Development
|In Development
|Yes
|Yes
|
|-
|-
|Nvidia
|Nvidia
Line 213: Line 213:
|No
|No
|No
|No
|
|In Development
|In Development
|In Development
|In Development
|In Development
|In Development
|In Development
|In Development
|
|-
|-
|Nvidia
|Nvidia
Line 226: Line 226:
|
|
|Yes
|Yes
|
|
|
|
|
Line 234: Line 233:
|In Development
|In Development
|In Development
|In Development
|
|-
|-
|Nvidia
|Nvidia
Line 262: Line 262:
([https://forum.level1techs.com/t/how-to-sr-iov-mod-the-w7100-gpu/164186 patched])
([https://forum.level1techs.com/t/how-to-sr-iov-mod-the-w7100-gpu/164186 patched])
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|AMD
|AMD
Line 278: Line 278:
|Yes
|Yes
|No
|No
|
|No
|No
|No
|No
|No
|No
|Yes
|Yes
|
|-
|-
|AMD
|AMD
Line 294: Line 294:
|Yes
|Yes
|No
|No
|
|No
|No
|No
|No
|No
|No
|No
|No
|
|-
|-
|AMD
|AMD
Line 310: Line 310:
|Yes
|Yes
|No
|No
|
|No
|No
|No
|No
|No
|No
|No
|No
|
|}
|}



Revision as of 20:01, 13 January 2023

Abstract

The following document will detail GPU Support for SR-IOV, SIOV, and VFIO-Mdev functionality.

Overview

Feature Matrix
Hardware Drivers Virtual I/O Assistance Modes Userspace Kernel
Vendor Architecture Model Libre Drivers Blob Drivers 'Merged' Host+Guest Acceleration Manufacturer Support Mdev Support SR-IOV Support SIOV Support GVM-cli Support GVM-mgr Support LibGVM Support LibVF.IO Support GVM-VFIO
Intel 6th Generation (Skylake) *HD i915 Yes Yes (Legacy) Yes No No No No No Yes
Intel 7th Generation (Kaby Lake) *HD i915 Yes Yes (Legacy) Yes No No No No No Yes
Intel 8th Generation (Coffee Lake) *HD i915 Yes Yes (Legacy) Yes No No No No No Yes
Intel 9th Generation (Cannon Lake) *HD i915 Yes Yes (Legacy) Yes No No No No No Yes
Intel 10th Generation (Ice Lake) i915 No Yes (Legacy) No No No No No No No
Intel 11th Generation (Tiger Lake) Xe* i915 Yes Yes Yes Yes In Development In Development Yes
Intel 12th Generation (Alder Lake) Xe* i915 Yes Yes Yes In Development Yes In Development In Development Yes
Nvidia Maxell *(see exceptions below) Nouveau, OpenRM RM Yes Yes Yes No No Yes In Development In Development Yes
Nvidia Pascal * Nouveau, OpenRM RM Yes Yes Yes No No Yes In Development In Development Yes
Nvidia Turing * Nouveau, OpenRM RM Yes Yes Yes No No Yes In Development In Development Yes
Nvidia Ampere A* Nouveau (Development), OpenRM RM No (DisplayModeSelector) Yes Yes Yes No Yes In Development In Development Yes
Nvidia Ampere RTX 30** Nouveau (Development), OpenRM RM In Development Yes Yes No No In Development In Development In Development In Development
Nvidia Ada Lovelace * OpenRM Yes In Development In Development In Development In Development
Nvidia Hopper * OpenRM Yes
AMD Tonga W7100 AMDGPU, MxGPU / GIM / GPU-IOV Module (Deprecated) AMDGPU-Pro No EOL (2017) No Yes

(patched)

No No No No Yes
AMD Tonga S71** AMDGPU, MxGPU / GIM / GPU-IOV Module (Deprecated) AMDGPU-Pro No EOL (2017) No Yes No No No No Yes
AMD Vega * AMDGPU AMDGPU-Pro No Partial Unknown Yes No No No No No
AMD Navi * AMDGPU AMDGPU-Pro No Partial Unknown Yes No No No No No

Intel

This section will cover Mdev support on Intel GPUs.

Hardware

GPUs supporting GVT-g (software based mediation)[1]:

  • Intel HD Graphics 5500
  • Intel HD Graphics 6000
  • Intel HD Graphics 510
  • Intel HD Graphics 520
  • Intel HD Graphics 530
  • Intel HD Graphics 620
  • Intel HD Graphics 630
  • Intel UHD Graphics 620
  • Intel UHD Graphics 630

GPUs supporting SR-IOV (hardware based mediation):

  • Intel Iris Xe Graphics [2][3]
  • Intel Iris Xe MAX Graphics

Drivers

Drivers with GVT-g support (6th - 9th gen):

Drivers with SR-IOV support (11th gen+):

Nvidia

This section will cover Mdev support on Nvidia GPUs.

Hardware

  • All(?) Volta based GPUs (V-series)
  • All(?) Turing based GPUs (20-series)
  • All(?) Pascal based GPUs (10-series)
  • Most Maxwell based GPUs (9-series) with the following notable exceptions:
    • GTX 970 (mixed FB regions)
    • Quadro M2000 (mixed FB regions)
    • Tesla M40 [4]
  • NVIDIA A100 HGX 80GB
  • NVIDIA A100 PCIe 80GB (SR-IOV: 20VF [5])
  • NVIDIA A100X
  • NVIDIA A100 HGX 40GB
  • NVIDIA A100 PCIe 40GB (SR-IOV: 16VF [6])
  • NVIDIA A40 (SR-IOV: 32VF [7])
  • NVIDIA A30 (SR-IOV: 8VF [8])
  • NVIDIA A30X
  • NVIDIA A16 (SR-IOV: 16VF [9])
  • NVIDIA A10 (SR-IOV: 32VF [10])
  • NVIDIA A2 (SR-IOV: 16VF [11])
  • NVIDIA RTX A6000
  • NVIDIA RTX A5000
  • Quadro RTX 8000 (SR-IOV: 24 VF [12])
  • Quadro RTX 8000 passive
  • Quadro RTX 6000 (SR-IOV: 24 VF [13])
  • Quadro RTX 6000 passive
  • Tesla V100
  • Tesla T4 (SR-IOV: 16VF [14])
  • Tesla P100
  • Tesla P40
  • Tesla P6
  • Tesla P4
  • Tesla M60
  • Tesla M10
  • Tesla M6
  • GRID K2 (Citrix XenServer and VMware ESXi only)
  • GRID K1 (Citrix XenServer and VMware ESXi only)

Drivers

The most widely used method of enabling Mdev functionality on Nvidia GPUs is via the use of Nvidia's proprietary driver package.

Nvidia's proprietary Mdev driver supports both SR-IOV as well as software based mediation. The appropriate mode is chosen between the two methods based on hardware architecture.

AMD

This section will cover Mdev support on AMD GPUs.

Hardware

Supported GPUs:

  • AMD FirePro S7150
  • AMD Radeon Pro V520 [15]
  • AMD FirePro W7100 [15]

Drivers

The open source GIM driver supports AMD Tonga architecture GPUs such as the FirePro S7150 & W7100.

To make use of the MxGPU GIM driver on modern kernel versions you will require pull request 24.

Virtualization driver support beyond AMD's Tonga architecture is unclear.