diff options
| author | Open-IOV <dev@open-iov.org> | 2026-09-23 05:44:08 -0400 |
|---|---|---|
| committer | Open-IOV <dev@open-iov.org> | 2026-09-23 05:46:43 -0400 |
| commit | 68cdd7728a7cc6715bbbff7decfe2b11c3bdf558 (patch) | |
| tree | 3dc8ce2e6af313a97ec6852f5c663a9a93665d2e /wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html | |
| download | open-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.tar.gz open-iov-68cdd7728a7cc6715bbbff7decfe2b11c3bdf558.zip | |
Open-IOV: initial public release
Open-IOV virtualizes NVIDIA GPUs so that unmodified guest drivers run with
real GPU functionality - CUDA first, 3D and video to follow - on unmodified
hosts, without a proprietary vGPU license and without patching any driver,
firmware or hypervisor.
Core principle: emulate the interface, pass through the work.
kernel/ open-iov-vfio.ko - host VFIO mdev driver: virtual GPU device
(PCI config space, BAR shadows, MSI-X), GSP boot emulation,
GSP-RM message-queue/RPC emulation, memory model (GPU-VA to
guest-PA discovery) and the semaphore-completion service that
advances guest UVM progress.
userspace/ libiov.so management API and examples.
tools/ guest diagnostics, firmware analysis wrappers, RM probes.
scripts/ stack manager, VM harness, build/load/test automation.
config/ hardware/version profiles (the portability surface).
docs/ documentation tree - start at docs/README.md.
wiki/ long-form firmware and protocol deep dives.
Status: initialization works end to end for a stock 570.144 Linux guest on
Turing (TU104): driver probe, nvidia-smi, the full GSP-RM control battery,
object creation and the early CUDA/UVM start-up path. GPU work forwarding -
the step that makes CUDA kernels execute on real hardware - is the active
work item; see docs/04-implementation/01-known-knowns-and-unknowns.md.
License: BSD-3-Clause for the project; GPL-2.0 for kernel modules that link
GPL-only kernel interfaces. See LICENSE and docs/09-reference/legal-and-licensing.md.
Diffstat (limited to 'wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html')
| -rw-r--r-- | wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html | 814 |
1 files changed, 814 insertions, 0 deletions
diff --git a/wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html b/wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html new file mode 100644 index 0000000..41542de --- /dev/null +++ b/wiki/open-iov.org/index.php?title=GPU_Support&oldid=23752.html @@ -0,0 +1,814 @@ +<!DOCTYPE html> +<html class="client-nojs" lang="en" dir="ltr"> +<head> +<meta charset="UTF-8"/> +<title>GPU Support - Open-IOV</title> +<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"686c6ca3a44f051c05b3e4e2","wgCSPNonce":!1,"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":0,"wgPageName":"GPU_Support","wgTitle":"GPU Support","wgCurRevisionId":23752,"wgRevisionId":23752,"wgArticleId":21,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"GPU_Support","wgRelevantArticleId":21,"wgIsProbablyEditable":!1,"wgRelevantPageIsProbablyEditable":!1,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks": +"en"},"wgEditSubmitButtonLabelPublish":!1};RLSTATE={"site.styles":"ready","noscript":"ready","user.styles":"ready","user":"ready","user.options":"loading","mediawiki.action.styles":"ready","mediawiki.interface.helpers.styles":"ready","skins.vector.styles.legacy":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready"};RLPAGEMODULES=["site","mediawiki.page.ready","mediawiki.toc","skins.vector.legacy.js","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader"];</script> +<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.implement("user.options@1hzgi",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); +});});</script> +<link rel="stylesheet" href="https://open-iov.org/load.php?lang=en&modules=ext.visualEditor.desktopArticleTarget.noscript%7Cmediawiki.action.styles%7Cmediawiki.interface.helpers.styles%7Cskins.vector.styles.legacy&only=styles&skin=vector"/> +<script async="" src="load.php%3Flang=en&modules=startup&only=scripts&raw=1&skin=vector"></script> +<meta name="generator" content="MediaWiki 1.37.1"/> +<meta name="robots" content="noindex,nofollow"/> +<meta name="format-detection" content="telephone=no"/> +<link rel="shortcut icon" href="favicon.ico.html"/> +<link rel="search" type="application/opensearchdescription+xml" href="opensearch_desc.php" title="Open-IOV (en)"/> +<link rel="EditURI" type="application/rsd+xml" href="api.php%3Faction=rsd"/> +<link rel="alternate" type="application/atom+xml" title="Open-IOV Atom feed" href="./index.php%3Ftitle=Special:RecentChanges&feed=atom"/> +</head> +<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-GPU_Support rootpage-GPU_Support skin-vector action-view skin-vector-legacy"><div id="mw-page-base" class="noprint"></div> +<div id="mw-head-base" class="noprint"></div> +<div id="content" class="mw-body" role="main"> + <a id="top"></a> + <div id="siteNotice"></div> + <div class="mw-indicators"> + </div> + <h1 id="firstHeading" class="firstHeading" >GPU Support</h1> + <div id="bodyContent" class="vector-body"> + <div id="siteSub" class="noprint">From Open-IOV</div> + <div id="contentSub"><div class="mw-revision warningbox"><div id="mw-revision-info">Revision as of 21:54, 13 March 2023 by <a href="./index.php%3Ftitle=User:Arthur&action=edit&redlink=1.html" class="new mw-userlink" title="User:Arthur (page does not exist)"><bdi>Arthur</bdi></a> <span class="mw-usertoollinks">(<a href="./index.php%3Ftitle=User_talk:Arthur&action=edit&redlink=1.html" class="new mw-usertoollinks-talk" title="User talk:Arthur (page does not exist)">talk</a> | <a href="index.php/Special:Contributions/Arthur.html" class="mw-usertoollinks-contribs" title="Special:Contributions/Arthur">contribs</a>)</span></div><div id="mw-revision-nav">(<a href="https://open-iov.org/index.php?title=GPU_Support&diff=prev&oldid=23752" title="GPU Support">diff</a>) <a href="https://open-iov.org/index.php?title=GPU_Support&direction=prev&oldid=23752" title="GPU Support">← Older revision</a> | Latest revision (diff) | Newer revision → (diff)</div></div></div> + <div id="contentSub2"></div> + + <div id="jump-to-nav"></div> + <a class="mw-jump-link" href="index.php%3Ftitle=GPU_Support&oldid=23752.html#mw-head">Jump to navigation</a> + <a class="mw-jump-link" href="index.php%3Ftitle=GPU_Support&oldid=23752.html#searchInput">Jump to search</a> + <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-parser-output"><div id="toc" class="toc" role="navigation" aria-labelledby="mw-toc-heading"><input type="checkbox" role="button" id="toctogglecheckbox" class="toctogglecheckbox" style="display:none" /><div class="toctitle" lang="en" dir="ltr"><h2 id="mw-toc-heading">Contents</h2><span class="toctogglespan"><label class="toctogglelabel" for="toctogglecheckbox"></label></span></div> +<ul> +<li class="toclevel-1 tocsection-1"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Abstract"><span class="tocnumber">1</span> <span class="toctext">Abstract</span></a></li> +<li class="toclevel-1 tocsection-2"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Overview"><span class="tocnumber">2</span> <span class="toctext">Overview</span></a></li> +<li class="toclevel-1 tocsection-3"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Intel"><span class="tocnumber">3</span> <span class="toctext">Intel</span></a> +<ul> +<li class="toclevel-2 tocsection-4"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Hardware"><span class="tocnumber">3.1</span> <span class="toctext">Hardware</span></a></li> +<li class="toclevel-2 tocsection-5"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Drivers"><span class="tocnumber">3.2</span> <span class="toctext">Drivers</span></a></li> +</ul> +</li> +<li class="toclevel-1 tocsection-6"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Nvidia"><span class="tocnumber">4</span> <span class="toctext">Nvidia</span></a> +<ul> +<li class="toclevel-2 tocsection-7"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Hardware_2"><span class="tocnumber">4.1</span> <span class="toctext">Hardware</span></a></li> +<li class="toclevel-2 tocsection-8"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Drivers_2"><span class="tocnumber">4.2</span> <span class="toctext">Drivers</span></a></li> +</ul> +</li> +<li class="toclevel-1 tocsection-9"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#AMD"><span class="tocnumber">5</span> <span class="toctext">AMD</span></a> +<ul> +<li class="toclevel-2 tocsection-10"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Hardware_3"><span class="tocnumber">5.1</span> <span class="toctext">Hardware</span></a></li> +<li class="toclevel-2 tocsection-11"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html#Drivers_3"><span class="tocnumber">5.2</span> <span class="toctext">Drivers</span></a></li> +</ul> +</li> +</ul> +</div> + +<h2><span class="mw-headline" id="Abstract">Abstract</span></h2><p> +The following document will detail GPU Support for SR-IOV, SIOV, and VFIO-Mdev functionality.</p><blockquote><p>An absence of critical technical documentation has historically slowed growth and adoption of developer ecosystems for GPU virtualization. +</p><p>This <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by/4.0/">CC-BY-4.0</a> licensed content can either be used with attribution, or used as inspiration for new documentation, created by GPU vendors for public commercial distribution as developer documentation. +</p><p> +Where possible, this documentation will clearly label dates and versions of observed-but-not-guaranteed behaviour vs. vendor-documented stable interfaces/behaviour with guarantees of forward or backward compatibility.</p></blockquote> +<h2><span class="mw-headline" id="Overview">Overview</span></h2> +<table class="wikitable"> +<caption>Feature Matrix +</caption> +<tbody><tr> +<th colspan="3">Hardware +</th> +<th colspan="4">Drivers +</th> +<th colspan="3"><a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Virtual_IO_Internals">Virtual I/O Assistance Modes</a> +</th> +<th colspan="2">Userspace +</th></tr> +<tr> +<th>Vendor +</th> +<th>Architecture +</th> +<th>Model +</th> +<th><a rel="nofollow" class="external text" href="https://www.fsf.org/about/what-is-free-software">Libre</a> Drivers +</th> +<th>Blob Drivers +</th> +<th><a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Merged_Drivers">'Merged' Host+Guest Acceleration</a> +</th> +<th>Manufacturer Support +</th> +<th><a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Virtual_IO_Internals#Mdev_Mode">Mdev Support</a> +</th> +<th><a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Virtual_IO_Internals#SR-IOV_Mode">SR-IOV Support</a> +</th> +<th><a rel="nofollow" class="external text" href="https://open-iov.org/index.php/Virtual_IO_Internals#SIOV_Mode">SIOV Support</a> +</th> +<th><a rel="nofollow" class="external text" href="">mdev management CLI Support</a> +</th> +<th><a rel="nofollow" class="external text" href=""> Support</a> +</th></tr> +<tr> +<td>Intel +</td> +<td>6th Generation (Skylake) +</td> +<td>*HD +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes (<a rel="nofollow" class="external text" href="https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899">Legacy</a>) +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>Intel +</td> +<td>7th Generation (Kaby Lake) +</td> +<td>*HD +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes (<a rel="nofollow" class="external text" href="https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899">Legacy</a>) +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>Intel +</td> +<td>8th Generation (Coffee Lake) +</td> +<td>*HD +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes (<a rel="nofollow" class="external text" href="https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899">Legacy</a>) +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>Intel +</td> +<td>9th Generation (Cannon Lake) +</td> +<td>*HD +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes (<a rel="nofollow" class="external text" href="https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899">Legacy</a>) +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>Intel +</td> +<td>10th Generation (Ice Lake) +</td> +<td> +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>No +</td> +<td>Yes (<a rel="nofollow" class="external text" href="https://community.intel.com/t5/Graphics/Graphics-Driver-Support-Update-for-10th-Generation-and-Older/m-p/1403969/thread-id/108899">Legacy</a>) +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td></tr> +<tr> +<td>Intel +</td> +<td>11th Generation (Tiger Lake) +</td> +<td>Xe* +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes +</td> +<td> +</td> +<td><a rel="nofollow" class="external text" href="https://archive.ph/0McAE#selection-4883.0-4943.35">Yes</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Intel +</td> +<td>12th Generation (Alder Lake) +</td> +<td>Xe* +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#i915">i915</a> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes +</td> +<td> +</td> +<td><a rel="nofollow" class="external text" href="https://archive.ph/0McAE#selection-4883.0-4943.35">Yes</a> +</td> +<td>In Development +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Maxell +</td> +<td>*(see exceptions below) +</td> +<td><a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/">Nouveau</a>, <a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td>RM +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Pascal +</td> +<td>* +</td> +<td><a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/">Nouveau</a>, <a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td>RM +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Turing +</td> +<td>* +</td> +<td><a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/">Nouveau</a>, <a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td>RM +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Ampere +</td> +<td>A* +</td> +<td><a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/">Nouveau</a> (<a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/FeatureMatrix.html">Development</a>), <a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td>RM +</td> +<td>No (<a rel="nofollow" class="external text" href="https://developer.nvidia.com/displaymodeselector">DisplayModeSelector</a>) +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>In Development +</td> +<td>Yes +</td> +<td>Yes +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Ampere +</td> +<td>RTX 30** +</td> +<td><a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/">Nouveau</a> (<a rel="nofollow" class="external text" href="https://nouveau.freedesktop.org/FeatureMatrix.html">Development</a>), <a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td>RM +</td> +<td>In Development +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>No +</td> +<td>In Development +</td> +<td>In Development +</td> +<td>In Development +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Ada Lovelace +</td> +<td>* +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>In Development +</td> +<td>In Development +</td> +<td>In Development +</td></tr> +<tr> +<td>Nvidia +</td> +<td>Hopper +</td> +<td>* +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Driver_Internals.html#OpenRM">OpenRM</a> +</td> +<td> +</td> +<td> +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>Yes +</td> +<td>In Development +</td> +<td> +</td> +<td> +</td></tr> +<tr> +<td>AMD +</td> +<td>Tonga +</td> +<td>W7100 +</td> +<td>AMDGPU, <a rel="nofollow" class="external text" href="https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization">MxGPU / GIM / GPU-IOV Module (Deprecated)</a> +</td> +<td>AMDGPU-Pro +</td> +<td>No +</td> +<td><a href="https://en.wikipedia.org/wiki/End-of-life_product" class="extiw" title="wikipedia:End-of-life product">EOL</a> (2017) +</td> +<td>No +</td> +<td>Yes +<p>(<a rel="nofollow" class="external text" href="https://forum.level1techs.com/t/how-to-sr-iov-mod-the-w7100-gpu/164186">patched</a>) +</p> +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>AMD +</td> +<td>Tonga +</td> +<td>S71** +</td> +<td>AMDGPU, <a rel="nofollow" class="external text" href="https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization">MxGPU / GIM / GPU-IOV Module (Deprecated)</a> +</td> +<td>AMDGPU-Pro +</td> +<td>No +</td> +<td><a href="https://en.wikipedia.org/wiki/End-of-life_product" class="extiw" title="wikipedia:End-of-life product">EOL</a> (2017) +</td> +<td>No +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>Yes +</td></tr> +<tr> +<td>AMD +</td> +<td>Vega +</td> +<td>* +</td> +<td>AMDGPU +</td> +<td>AMDGPU-Pro +</td> +<td>No +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Support.html#Drivers_3">Partial</a> +</td> +<td>Unknown +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td></tr> +<tr> +<td>AMD +</td> +<td>Navi +</td> +<td>* +</td> +<td>AMDGPU +</td> +<td>AMDGPU-Pro +</td> +<td>No +</td> +<td><a rel="nofollow" class="external text" href="index.php/GPU_Support.html#Drivers_3">Partial</a> +</td> +<td>Unknown +</td> +<td>Yes +</td> +<td>No +</td> +<td>No +</td> +<td>No +</td></tr></tbody></table> +<h2><span class="mw-headline" id="Intel">Intel</span></h2> +<p>This section will cover Mdev support on Intel GPUs. +</p> +<h4><span class="mw-headline" id="Hardware">Hardware</span></h4> +<p>GPUs supporting GVT-g (software based mediation)<a rel="nofollow" class="external autonumber" href="https://www.intel.com/content/www/us/en/support/articles/000058558/graphics.html">[1]</a>: +</p> +<ul><li>Intel HD Graphics 5500</li> +<li>Intel HD Graphics 6000</li> +<li>Intel HD Graphics 510</li> +<li>Intel HD Graphics 520</li> +<li>Intel HD Graphics 530</li> +<li>Intel HD Graphics 620</li> +<li>Intel HD Graphics 630</li> +<li>Intel UHD Graphics 620</li> +<li>Intel UHD Graphics 630</li></ul> +<p>GPUs supporting SR-IOV (hardware based mediation): +</p> +<ul><li>Intel Iris Xe Graphics <a rel="nofollow" class="external autonumber" href="https://archive.ph/0McAE#selection-4883.0-4943.35">[2]</a><a rel="nofollow" class="external autonumber" href="https://old.reddit.com/r/VFIO/comments/o7l2zr/sriov_on_intel_xe_graphics/">[3]</a></li> +<li>Intel Iris Xe MAX Graphics</li></ul> +<h4><span class="mw-headline" id="Drivers">Drivers</span></h4> +<p>Drivers with GVT-g support (6th - 9th gen): +</p> +<ul><li><b><a rel="nofollow" class="external text" href="https://github.com/torvalds/linux/tree/master/drivers/gpu/drm/i915">i915 mainline</a></b></li></ul> +<p>Drivers with SR-IOV support (11th gen+): +</p> +<ul><li><b><a rel="nofollow" class="external text" href="https://github.com/intel/linux-intel-lts/commit/41ef979f0894326c202473807a56b599a2f3d04e">i915 upstreaming</a></b></li></ul> +<h2><span class="mw-headline" id="Nvidia">Nvidia</span></h2> +<p>This section will cover Mdev support on Nvidia GPUs. +</p> +<h4><span class="mw-headline" id="Hardware_2">Hardware</span></h4> +<ul><li>All(?) Volta based GPUs (V-series)</li> +<li>All(?) Turing based GPUs (20-series)</li> +<li>All(?) Pascal based GPUs (10-series)</li> +<li>Most Maxwell based GPUs (9-series) with the following notable exceptions: +<ul><li>GTX 970 (mixed FB regions)</li> +<li>Quadro M2000 (mixed FB regions)</li> +<li>Tesla M40 <a rel="nofollow" class="external autonumber" href="https://github.com/DualCoder/vgpu_unlock/issues/62">[4]</a></li></ul></li></ul> +<ul><li>NVIDIA A100 HGX 80GB</li> +<li>NVIDIA A100 PCIe 80GB (SR-IOV: 20VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a100/pdf/PB-10577-001_v02.pdf">[5]</a>)</li> +<li>NVIDIA A100X</li> +<li>NVIDIA A100 HGX 40GB</li> +<li>NVIDIA A100 PCIe 40GB (SR-IOV: 16VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a100/pdf/A100-PCIE-Prduct-Brief.pdf">[6]</a>)</li> +<li>NVIDIA A40 (SR-IOV: 32VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a40/NVIDIA%20A40%20Product%20Brief.pdf">[7]</a>)</li> +<li>NVIDIA A30 (SR-IOV: 8VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/data-center/products/a30-gpu/pdf/a30-product-brief.pdf">[8]</a>)</li> +<li>NVIDIA A30X</li> +<li>NVIDIA A16 (SR-IOV: 16VF <a rel="nofollow" class="external autonumber" href="https://images.nvidia.com/content/Solutions/data-center/vgpu-a16-product-brief.pdf">[9]</a>)</li> +<li>NVIDIA A10 (SR-IOV: 32VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/a10/pdf/A10-Product-Brief.pdf">[10]</a>)</li> +<li>NVIDIA A2 (SR-IOV: 16VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/solutions/data-center/a2/pdf/a2-product-brief.pdf">[11]</a>)</li> +<li>NVIDIA RTX A6000</li> +<li>NVIDIA RTX A5000</li> +<li>Quadro RTX 8000 (SR-IOV: 24 VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/quadro-product-literature/NVIDIA-Quadro-RTX-8000-PCIe-Server-Card-PB-FINAL-1219.pdf">[12]</a>)</li> +<li>Quadro RTX 8000 passive</li> +<li>Quadro RTX 6000 (SR-IOV: 24 VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/design-visualization/quadro-product-literature/NVIDIA-Quadro-RTX-6000-PCIe-Server-Card-PB-FINAL-1219.pdf">[13]</a>)</li> +<li>Quadro RTX 6000 passive</li> +<li>Tesla V100</li> +<li>Tesla T4 (SR-IOV: 16VF <a rel="nofollow" class="external autonumber" href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/tesla-t4/t4-tensor-core-product-brief.pdf">[14]</a>)</li> +<li>Tesla P100</li> +<li>Tesla P40</li> +<li>Tesla P6</li> +<li>Tesla P4</li> +<li>Tesla M60</li> +<li>Tesla M10</li> +<li>Tesla M6</li> +<li>GRID K2 (Citrix XenServer and VMware ESXi only)</li> +<li>GRID K1 (Citrix XenServer and VMware ESXi only)</li></ul> +<h4><span class="mw-headline" id="Drivers_2">Drivers</span></h4> +<p>The most widely used method of enabling Mdev functionality on Nvidia GPUs is via the use of Nvidia's proprietary driver package. +</p><p>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. +</p> +<h2><span class="mw-headline" id="AMD">AMD</span></h2> +<p>This section will cover Mdev support on AMD GPUs. +</p> +<h4><span class="mw-headline" id="Hardware_3">Hardware</span></h4> +<p>Supported GPUs: +</p> +<ul><li>AMD FirePro S7150</li> +<li>AMD Radeon Pro V520 <a rel="nofollow" class="external autonumber" href="https://www.amd.com/en/graphics/workstation-virtual-graphics">[15]</a></li> +<li>AMD FirePro W7100 <a rel="nofollow" class="external text" href="https://forum.level1techs.com/t/how-to-sr-iov-mod-the-w7100-gpu/164186">[15]</a></li></ul> +<h4><span class="mw-headline" id="Drivers_3">Drivers</span></h4> +<p>The open source <a rel="nofollow" class="external text" href="https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization">GIM driver</a> supports AMD Tonga architecture GPUs such as the FirePro S7150 & W7100. +</p><p>To make use of the MxGPU GIM driver on modern kernel versions you will require <a rel="nofollow" class="external text" href="https://github.com/GPUOpen-LibrariesAndSDKs/MxGPU-Virtualization/pull/24">pull request 24</a>. +</p><p>Virtualization driver support beyond AMD's Tonga architecture is unclear. +</p> +<!-- +NewPP limit report +Cached time: 20260911155139 +Cache expiry: 86400 +Reduced expiry: false +Complications: [] +CPU time usage: 0.038 seconds +Real time usage: 0.040 seconds +Preprocessor visited node count: 39/1000000 +Post‐expand include size: 0/2097152 bytes +Template argument size: 0/2097152 bytes +Highest expansion depth: 2/40 +Expensive parser function count: 0/100 +Unstrip recursion depth: 0/20 +Unstrip post‐expand size: 4/5000000 bytes +--> +<!-- +Transclusion expansion time report (%,ms,calls,template) +100.00% 0.000 1 -total +--> + +<!-- Saved in parser cache with key my_wiki:pcache:idhash:21-0!canonical and timestamp 20260911155139 and revision id 23752. Serialized with JSON. + --> +</div> +<div class="printfooter">Retrieved from "<a dir="ltr" href="index.php%3Ftitle=GPU_Support&oldid=23752.html">https://open-iov.org/index.php?title=GPU_Support&oldid=23752</a>"</div></div> + <div id="catlinks" class="catlinks catlinks-allhidden" data-mw="interface"></div> + </div> +</div> + +<div id="mw-navigation"> + <h2>Navigation menu</h2> + <div id="mw-head"> + <nav id="p-personal" class="mw-portlet mw-portlet-personal vector-user-menu-legacy vector-menu" aria-labelledby="p-personal-label" role="navigation" + > + <h3 id="p-personal-label" class="vector-menu-heading"> <span>Personal tools</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="pt-login" class="mw-list-item"><a href="https://open-iov.org/index.php?title=Special:UserLogin&returnto=GPU+Support&returntoquery=oldid%3D23752" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o">Log in</a></li></ul> + + </div> +</nav> + + <div id="left-navigation"> + <nav id="p-namespaces" class="mw-portlet mw-portlet-namespaces vector-menu vector-menu-tabs" aria-labelledby="p-namespaces-label" role="navigation" + > + <h3 id="p-namespaces-label" class="vector-menu-heading"> <span>Namespaces</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="ca-nstab-main" class="selected mw-list-item"><a href="index.php/GPU_Support.html" title="View the content page [c]" accesskey="c">Page</a></li><li id="ca-talk" class="new mw-list-item"><a href="https://open-iov.org/index.php?title=Talk:GPU_Support&action=edit&redlink=1" rel="discussion" title="Discussion about the content page (page does not exist) [t]" accesskey="t">Discussion</a></li></ul> + + </div> +</nav> + + <nav id="p-variants" class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-variants-label" role="navigation" + > + <input type="checkbox" + id="p-variants-checkbox" + role="button" + aria-haspopup="true" + data-event-name="ui.dropdown-p-variants" + class=" vector-menu-checkbox" aria-labelledby="p-variants-label" /> + <h3 id="p-variants-label" class="vector-menu-heading"> <span>Variants</span> + <span class="vector-menu-checkbox-expanded">expanded</span> + <span class="vector-menu-checkbox-collapsed">collapsed</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"></ul> + + </div> +</nav> + + </div> + <div id="right-navigation"> + <nav id="p-views" class="mw-portlet mw-portlet-views vector-menu vector-menu-tabs" aria-labelledby="p-views-label" role="navigation" + > + <h3 id="p-views-label" class="vector-menu-heading"> <span>Views</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="ca-view" class="selected mw-list-item"><a href="index.php/GPU_Support.html">Read</a></li><li id="ca-viewsource" class="mw-list-item"><a href="index.php%3Ftitle=GPU_Support&action=edit.html" title="This page is protected. You can view its source [e]" accesskey="e">View source</a></li><li id="ca-history" class="mw-list-item"><a href="index.php%3Ftitle=GPU_Support&action=history.html" title="Past revisions of this page [h]" accesskey="h">View history</a></li></ul> + + </div> +</nav> + + <nav id="p-cactions" class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown" aria-labelledby="p-cactions-label" role="navigation" title="More options" + > + <input type="checkbox" + id="p-cactions-checkbox" + role="button" + aria-haspopup="true" + data-event-name="ui.dropdown-p-cactions" + class=" vector-menu-checkbox" aria-labelledby="p-cactions-label" /> + <h3 id="p-cactions-label" class="vector-menu-heading"> <span>More</span> + <span class="vector-menu-checkbox-expanded">expanded</span> + <span class="vector-menu-checkbox-collapsed">collapsed</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"></ul> + + </div> +</nav> + + <div id="p-search" role="search" class="vector-search-box"> + <div> + <h3 > + <label for="searchInput">Search</label> + </h3> + <form action="https://open-iov.org/index.php" id="searchform"> + <div id="simpleSearch" data-search-loc="header-navigation"> + <input type="search" name="search" placeholder="Search Open-IOV" autocapitalize="sentences" title="Search Open-IOV [f]" accesskey="f" id="searchInput"/> + <input type="hidden" name="title" value="Special:Search"/> + <input type="submit" name="fulltext" value="Search" title="Search the pages for this text" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/> + <input type="submit" name="go" value="Go" title="Go to a page with this exact name if it exists" id="searchButton" class="searchButton"/> + </div> + </form> + </div> +</div> + + </div> + </div> + +<div id="mw-panel"> + <div id="p-logo" role="banner"> + <a class="mw-wiki-logo" href="images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html" + title="Visit the main page"></a> + </div> + <nav id="p-navigation" class="mw-portlet mw-portlet-navigation vector-menu vector-menu-portal portal" aria-labelledby="p-navigation-label" role="navigation" + > + <h3 id="p-navigation-label" class="vector-menu-heading"> <span>Navigation</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="n-mainpage-description" class="mw-list-item"><a href="images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html" title="Visit the main page [z]" accesskey="z">Main page</a></li><li id="n-recentchanges" class="mw-list-item"><a href="https://open-iov.org/index.php/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li><li id="n-randompage" class="mw-list-item"><a href="index.php/Special:Random.html" title="Load a random page [x]" accesskey="x">Random page</a></li><li id="n-help-mediawiki" class="mw-list-item"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">Help about MediaWiki</a></li></ul> + + </div> +</nav> + + <nav id="p-tb" class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" aria-labelledby="p-tb-label" role="navigation" + > + <h3 id="p-tb-label" class="vector-menu-heading"> <span>Tools</span> + </h3> + <div class="vector-menu-content"> + + <ul class="vector-menu-content-list"><li id="t-whatlinkshere" class="mw-list-item"><a href="index.php/Special:WhatLinksHere/GPU_Support.html" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="https://open-iov.org/index.php/Special:RecentChangesLinked/GPU_Support" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li id="t-specialpages" class="mw-list-item"><a href="index.php/Special:SpecialPages.html" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li id="t-permalink" class="mw-list-item"><a href="index.php%3Ftitle=GPU_Support&oldid=23752.html" title="Permanent link to this revision of the page">Permanent link</a></li><li id="t-info" class="mw-list-item"><a href="index.php%3Ftitle=GPU_Support&action=info.html" title="More information about this page">Page information</a></li></ul> + + </div> +</nav> + + +</div> + +</div> +<footer id="footer" class="mw-footer" role="contentinfo" > + <ul id="footer-info" > + <li id="footer-info-lastmod"> This page was last edited on 13 March 2023, at 21:54.</li> +</ul> + + <ul id="footer-places" > + <li id="footer-places-privacy"><a href="https://open-iov.org/index.php/Open-IOV:Privacy_policy" title="Open-IOV:Privacy policy">Privacy policy</a></li> + <li id="footer-places-about"><a href="index.php/Open-IOV:About.html" title="Open-IOV:About">About Open-IOV</a></li> + <li id="footer-places-disclaimer"><a href="https://open-iov.org/index.php/Open-IOV:General_disclaimer" title="Open-IOV:General disclaimer">Disclaimers</a></li> +</ul> + + <ul id="footer-icons" class="noprint"> + <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="resources/assets/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="resources/assets/poweredby_mediawiki_132x47.png 1.5x, resources/assets/poweredby_mediawiki_176x62.png 2x" width="88" height="31" loading="lazy"/></a></li> +</ul> + +</footer> + + +<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.038","walltime":"0.040","ppvisitednodes":{"value":39,"limit":1000000},"postexpandincludesize":{"value":0,"limit":2097152},"templateargumentsize":{"value":0,"limit":2097152},"expansiondepth":{"value":2,"limit":40},"expensivefunctioncount":{"value":0,"limit":100},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":4,"limit":5000000},"timingprofile":["100.00% 0.000 1 -total"]},"cachereport":{"timestamp":"20260911155139","ttl":86400,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":68});});</script> +<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a39969b7092239c9',t:'MTc4OTE1ODQ0NA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>
\ No newline at end of file |
