Difference between revisions of "GPU Support"
Line 1: | Line 1: | ||
== | == EOLAbstract == | ||
The following document will detail GPU Support for SR-IOV, SIOV, and VFIO-Mdev functionality. | The following document will detail GPU Support for SR-IOV, SIOV, and VFIO-Mdev functionality. | ||
Line 5: | Line 5: | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Feature Matrix | |+Feature Matrix | ||
! colspan=" | ! colspan="4" |Hardware | ||
! colspan="3" |Drivers | ! colspan="3" |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] | ||
Line 14: | Line 14: | ||
!Architecture | !Architecture | ||
!Model | !Model | ||
!Support | |||
![https://www.fsf.org/about/what-is-free-software Libre] Drivers | ![https://www.fsf.org/about/what-is-free-software Libre] Drivers | ||
!Non-Libre Drivers | !Non-Libre Drivers | ||
Line 29: | Line 30: | ||
|6th Generation (Skylake) | |6th Generation (Skylake) | ||
|*HD | |*HD | ||
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy Support] | |||
|i915 | |i915 | ||
| | | | ||
Line 44: | Line 46: | ||
|7th Generation (Kaby Lake) | |7th Generation (Kaby Lake) | ||
|*HD | |*HD | ||
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy Support] | |||
|i915 | |i915 | ||
| | | | ||
Line 59: | Line 62: | ||
|8th Generation (Coffee Lake) | |8th Generation (Coffee Lake) | ||
|*HD | |*HD | ||
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy Support] | |||
|i915 | |i915 | ||
| | | | ||
Line 74: | Line 78: | ||
|9th Generation (Cannon Lake) | |9th Generation (Cannon Lake) | ||
|*HD | |*HD | ||
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy Support] | |||
|i915 | |i915 | ||
| | | | ||
Line 89: | Line 94: | ||
|10th Generation (Ice Lake) | |10th Generation (Ice Lake) | ||
| | | | ||
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy Support] | |||
|i915 | |i915 | ||
| | | | ||
Line 104: | Line 110: | ||
|11th Generation (Tiger Lake) | |11th Generation (Tiger Lake) | ||
|Xe* | |Xe* | ||
|Supported | |||
|i915 | |i915 | ||
| | | | ||
Line 119: | Line 126: | ||
|12th Generation (Alder Lake) | |12th Generation (Alder Lake) | ||
|Xe* | |Xe* | ||
|Supported | |||
|i915 | |i915 | ||
| | | | ||
Line 130: | Line 138: | ||
|In Development | |In Development | ||
|Yes | |Yes | ||
|- | |||
|Nvidia | |||
|Kepler | |||
| | |||
|[[wikipedia:End-of-life_product|EOL]] (2021) | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |- | ||
|Nvidia | |Nvidia | ||
|Maxell | |Maxell | ||
|*(see exceptions below) | |*(see exceptions below) | ||
|Supported | |||
|[https://nouveau.freedesktop.org/ Nouveau], [https://open-iov.org/index.php/OpenRM OpenRM] | |[https://nouveau.freedesktop.org/ Nouveau], [https://open-iov.org/index.php/OpenRM OpenRM] | ||
|Consumer Proprietary, Proprietary Mdev | |Consumer Proprietary, Proprietary Mdev | ||
Line 149: | Line 174: | ||
|Pascal | |Pascal | ||
|* | |* | ||
|Supported | |||
|[https://nouveau.freedesktop.org/ Nouveau], [https://open-iov.org/index.php/OpenRM OpenRM] | |[https://nouveau.freedesktop.org/ Nouveau], [https://open-iov.org/index.php/OpenRM OpenRM] | ||
|Consumer Proprietary, Proprietary Mdev | |Consumer Proprietary, Proprietary Mdev | ||
Line 164: | Line 190: | ||
|Turing | |Turing | ||
|* | |* | ||
|Supported | |||
|[https://nouveau.freedesktop.org/ Nouveau], [https://openmdev.io/index.php/OpenRM OpenRM] | |[https://nouveau.freedesktop.org/ Nouveau], [https://openmdev.io/index.php/OpenRM OpenRM] | ||
|Consumer Proprietary, Proprietary Mdev | |Consumer Proprietary, Proprietary Mdev | ||
Line 179: | Line 206: | ||
|Ampere | |Ampere | ||
|A* | |A* | ||
|Supported | |||
|[https://nouveau.freedesktop.org/ Nouveau] ([https://nouveau.freedesktop.org/FeatureMatrix.html In Development]), [https://open-iov.org/index.php/OpenRM OpenRM] | |[https://nouveau.freedesktop.org/ Nouveau] ([https://nouveau.freedesktop.org/FeatureMatrix.html In Development]), [https://open-iov.org/index.php/OpenRM OpenRM] | ||
|Consumer Proprietary, Proprietary Mdev | |Consumer Proprietary, Proprietary Mdev | ||
Line 194: | Line 222: | ||
|Ampere | |Ampere | ||
|RTX 30** | |RTX 30** | ||
|Supported | |||
|[https://nouveau.freedesktop.org/ Nouveau] ([https://nouveau.freedesktop.org/FeatureMatrix.html In Development]), [https://open-iov.org/index.php/OpenRM OpenRM] | |[https://nouveau.freedesktop.org/ Nouveau] ([https://nouveau.freedesktop.org/FeatureMatrix.html In Development]), [https://open-iov.org/index.php/OpenRM OpenRM] | ||
|Consumer Proprietary | |Consumer Proprietary | ||
Line 209: | Line 238: | ||
|Ada Lovelace | |Ada Lovelace | ||
|* | |* | ||
|Supported | |||
|[https://open-iov.org/index.php/OpenRM OpenRM] | |[https://open-iov.org/index.php/OpenRM OpenRM] | ||
| | | | ||
Line 224: | Line 254: | ||
|Hopper | |Hopper | ||
|* | |* | ||
|Supported | |||
|[https://open-iov.org/index.php/OpenRM OpenRM] | |[https://open-iov.org/index.php/OpenRM OpenRM] | ||
| | | | ||
Line 239: | Line 270: | ||
|Tonga | |Tonga | ||
|W7100 | |W7100 | ||
|AMDGPU, GPU-IOV Module (Deprecated) | |[[wikipedia:End-of-life_product|EOL]] (2017) | ||
|AMDGPU, [https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization GPU-IOV Module (Deprecated)] | |||
|AMDGPU-Pro | |AMDGPU-Pro | ||
|No | |No | ||
Line 255: | Line 287: | ||
|Tonga | |Tonga | ||
|S71** | |S71** | ||
|AMDGPU, GPU-IOV Module (Deprecated) | |[[wikipedia:End-of-life_product|EOL]] (2017) | ||
|AMDGPU, [https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization GPU-IOV Module (Deprecated)] | |||
|AMDGPU-Pro | |AMDGPU-Pro | ||
|No | |No | ||
Line 270: | Line 303: | ||
|Vega | |Vega | ||
|* | |* | ||
|Supported | |||
|AMDGPU | |AMDGPU | ||
|AMDGPU-Pro | |AMDGPU-Pro | ||
Line 285: | Line 319: | ||
|Navi | |Navi | ||
|* | |* | ||
|Supported | |||
|AMDGPU | |AMDGPU | ||
|AMDGPU-Pro | |AMDGPU-Pro |
Revision as of 23:29, 5 January 2023
EOLAbstract
The following document will detail GPU Support for SR-IOV, SIOV, and VFIO-Mdev functionality.
Overview
Hardware | Drivers | Virtual I/O Assistance Modes | Kernel | Userspace | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Vendor | Architecture | Model | Support | Libre Drivers | Non-Libre Drivers | 'Merged' Host+Guest Acceleration | Mdev Support | SR-IOV Support | SIOV Support | GVM-kernel Support | GVM-cli Support | GVM-mgr Support | LibGVM Support | LibVF.IO Support |
Intel | 6th Generation (Skylake) | *HD | Legacy Support | i915 | Yes | Yes | No | No | No | No | Yes | |||
Intel | 7th Generation (Kaby Lake) | *HD | Legacy Support | i915 | Yes | Yes | No | No | No | No | Yes | |||
Intel | 8th Generation (Coffee Lake) | *HD | Legacy Support | i915 | Yes | Yes | No | No | No | No | Yes | |||
Intel | 9th Generation (Cannon Lake) | *HD | Legacy Support | i915 | Yes | Yes | No | No | No | No | Yes | |||
Intel | 10th Generation (Ice Lake) | Legacy Support | i915 | No | No | No | No | No | No | No | ||||
Intel | 11th Generation (Tiger Lake) | Xe* | Supported | i915 | Yes | Yes | In Development | In Development | In Development | Yes | ||||
Intel | 12th Generation (Alder Lake) | Xe* | Supported | i915 | Yes | Yes | In Development | In Development | In Development | In Development | Yes | |||
Nvidia | Kepler | EOL (2021) | ||||||||||||
Nvidia | Maxell | *(see exceptions below) | Supported | Nouveau, OpenRM | Consumer Proprietary, Proprietary Mdev | Yes | Yes | No | No | Yes | In Development | In Development | Yes | |
Nvidia | Pascal | * | Supported | Nouveau, OpenRM | Consumer Proprietary, Proprietary Mdev | Yes | Yes | No | No | Yes | In Development | In Development | Yes | |
Nvidia | Turing | * | Supported | Nouveau, OpenRM | Consumer Proprietary, Proprietary Mdev | Yes | Yes | No | No | Yes | In Development | In Development | Yes | |
Nvidia | Ampere | A* | Supported | Nouveau (In Development), OpenRM | Consumer Proprietary, Proprietary Mdev | Headless Mode: DisplayModeSelector | Yes | Yes | No | Yes | In Development | In Development | Yes | |
Nvidia | Ampere | RTX 30** | Supported | Nouveau (In Development), OpenRM | Consumer Proprietary | In Development | Yes | No | No | In Development | In Development | In Development | In Development | |
Nvidia | Ada Lovelace | * | Supported | OpenRM | In Development | In Development | ||||||||
Nvidia | Hopper | * | Supported | OpenRM | In Development | In Development | ||||||||
AMD | Tonga | W7100 | EOL (2017) | AMDGPU, GPU-IOV Module (Deprecated) | AMDGPU-Pro | No | No | Yes
(patched) |
No | No | No | Yes | ||
AMD | Tonga | S71** | EOL (2017) | AMDGPU, GPU-IOV Module (Deprecated) | AMDGPU-Pro | No | No | Yes | No | No | No | Yes | ||
AMD | Vega | * | Supported | AMDGPU | AMDGPU-Pro | No | Unknown | Yes | No | No | No | Unknown | ||
AMD | Navi | * | Supported | AMDGPU | AMDGPU-Pro | No | Unknown | Yes | No | No | No | Unknown |
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):
Drivers
Drivers with GVT-g support:
Drivers with SR-IOV support:
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:
Drivers
The open source GIM driver supports AMD Tonga architecture GPUs such as the FirePro S7150/W7100. Modern kernel versions require pull request 24