Difference between revisions of "GPU Support"

From Open-IOV
Jump to navigation Jump to search
Tag: Manual revert
Line 14: Line 14:
!Architecture
!Architecture
!Model
!Model
!Manufacturer Support
!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 30: 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]
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy]
|i915
|i915
|
|
Line 46: 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]
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy]
|i915
|i915
|
|
Line 62: 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]
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy]
|i915
|i915
|
|
Line 78: 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]
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy]
|i915
|i915
|
|
Line 94: 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]
|[https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899 Legacy]
|i915
|i915
|
|
Line 110: Line 110:
|11th Generation (Tiger Lake)
|11th Generation (Tiger Lake)
|Xe*
|Xe*
|Supported
|Yes
|i915
|i915
|
|
Line 126: Line 126:
|12th Generation (Alder Lake)
|12th Generation (Alder Lake)
|Xe*
|Xe*
|Supported
|Yes
|i915
|i915
|
|
Line 158: Line 158:
|Maxell
|Maxell
|*(see exceptions below)
|*(see exceptions below)
|Supported
|Yes
|[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 174: Line 174:
|Pascal
|Pascal
|*
|*
|Supported
|Yes
|[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 190: Line 190:
|Turing
|Turing
|*
|*
|Supported
|Yes
|[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 206: Line 206:
|Ampere
|Ampere
|A*
|A*
|Supported
|Yes
|[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 Development]), [https://open-iov.org/index.php/OpenRM OpenRM]
|Consumer Proprietary, Proprietary Mdev
|Consumer Proprietary, Proprietary Mdev
|Headless Mode: [https://developer.nvidia.com/displaymodeselector DisplayModeSelector]
|Headless Mode: [https://developer.nvidia.com/displaymodeselector DisplayModeSelector]
Line 222: Line 222:
|Ampere
|Ampere
|RTX 30**
|RTX 30**
|Supported
|Yes
|[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 Development]), [https://open-iov.org/index.php/OpenRM OpenRM]
|Consumer Proprietary
|Consumer Proprietary
|In Development
|In Development
Line 238: Line 238:
|Ada Lovelace
|Ada Lovelace
|*
|*
|Supported
|Yes
|[https://open-iov.org/index.php/OpenRM OpenRM]
|[https://open-iov.org/index.php/OpenRM OpenRM]
|
|
Line 254: Line 254:
|Hopper
|Hopper
|*
|*
|Supported
|Yes
|[https://open-iov.org/index.php/OpenRM OpenRM]
|[https://open-iov.org/index.php/OpenRM OpenRM]
|
|
Line 303: Line 303:
|Vega
|Vega
|*
|*
|Supported
|Yes
|AMDGPU
|AMDGPU
|AMDGPU-Pro
|AMDGPU-Pro
Line 319: Line 319:
|Navi
|Navi
|*
|*
|Supported
|Yes
|AMDGPU
|AMDGPU
|AMDGPU-Pro
|AMDGPU-Pro

Revision as of 23:40, 5 January 2023

EOLAbstract

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 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 i915 Yes Yes No No No No Yes
Intel 7th Generation (Kaby Lake) *HD Legacy i915 Yes Yes No No No No Yes
Intel 8th Generation (Coffee Lake) *HD Legacy i915 Yes Yes No No No No Yes
Intel 9th Generation (Cannon Lake) *HD Legacy i915 Yes Yes No No No No Yes
Intel 10th Generation (Ice Lake) Legacy i915 No No No No No No No
Intel 11th Generation (Tiger Lake) Xe* Yes i915 Yes Yes In Development In Development In Development Yes
Intel 12th Generation (Alder Lake) Xe* Yes i915 Yes Yes In Development In Development In Development In Development Yes
Nvidia Kepler EOL (2021) Nouveau Consumer Proprietary, Proprietary Mdev No Yes No No No No No No
Nvidia Maxell *(see exceptions below) Yes Nouveau, OpenRM Consumer Proprietary, Proprietary Mdev Yes Yes No No Yes In Development In Development Yes
Nvidia Pascal * Yes Nouveau, OpenRM Consumer Proprietary, Proprietary Mdev Yes Yes No No Yes In Development In Development Yes
Nvidia Turing * Yes Nouveau, OpenRM Consumer Proprietary, Proprietary Mdev Yes Yes No No Yes In Development In Development Yes
Nvidia Ampere A* Yes Nouveau (Development), OpenRM Consumer Proprietary, Proprietary Mdev Headless Mode: DisplayModeSelector Yes Yes No Yes In Development In Development Yes
Nvidia Ampere RTX 30** Yes Nouveau (Development), OpenRM Consumer Proprietary In Development Yes No No In Development In Development In Development In Development
Nvidia Ada Lovelace * Yes OpenRM In Development In Development
Nvidia Hopper * Yes 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 * Yes AMDGPU AMDGPU-Pro No Unknown Yes No No No Unknown
AMD Navi * Yes 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):

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

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:

  • 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. Modern kernel versions require pull request 24