1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
|
::: {#mw-page-base .noprint}
:::
::: {#mw-head-base .noprint}
:::
::: {#content .mw-body role="main"}
[]{#top}
::: {#siteNotice}
:::
::: mw-indicators
:::
# GPU Software Bill Of Materials (SBOM) {#firstHeading .firstHeading}
::: {#bodyContent .vector-body}
::: {#siteSub .noprint}
From Open-IOV
:::
::: {#contentSub}
::: {.mw-revision .warningbox}
::: {#mw-revision-info}
Revision as of 14:58, 13 June 2023 by
[Arthur](./index.php%3Ftitle=User:Arthur&action=edit&redlink=1.html "User:Arthur (page does not exist)"){.new
.mw-userlink}
[([talk](./index.php%3Ftitle=User_talk:Arthur&action=edit&redlink=1.html "User talk:Arthur (page does not exist)"){.new
.mw-usertoollinks-talk} \|
[contribs](index.php/Special:Contributions/Arthur.html "Special:Contributions/Arthur"){.mw-usertoollinks-contribs})]{.mw-usertoollinks}
[(Updated Nvidia VGX vGPU version to 15.2 in GPU SBOM.)]{.comment}
:::
::: {#mw-revision-nav}
([diff](https://open-iov.org/index.php?title=GPU_Software_Bill_Of_Materials_(SBOM)&diff=prev&oldid=23786 "GPU Software Bill Of Materials (SBOM)"))
[← Older
revision](https://open-iov.org/index.php?title=GPU_Software_Bill_Of_Materials_(SBOM)&direction=prev&oldid=23786 "GPU Software Bill Of Materials (SBOM)")
\| Latest revision (diff) \| Newer revision → (diff)
:::
:::
:::
::: {#contentSub2}
:::
::: {#jump-to-nav}
:::
[Jump to
navigation](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&oldid=23786.html#mw-head){.mw-jump-link}
[Jump to
search](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&oldid=23786.html#searchInput){.mw-jump-link}
::: {#mw-content-text .mw-body-content .mw-content-ltr lang="en" dir="ltr"}
::: mw-parser-output
This page will keep a running list of components used to achieve GPU
Virtualization.
> An absence of critical technical documentation has historically slowed
> growth and adoption of developer ecosystems for GPU virtualization.
>
> This
> [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/){.external
> .text rel="nofollow"} 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.
>
> 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.
------------- ----------------------------------------------------------------------------------------------------------------------------------------------- ------------- ----------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------- ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vendor Component Description Version OSS or Blob Filesize Vendor Docs Release Date Interfaces / APIs Notes
Microsoft Indirect Display Driver (IDD) Driver [OSS](https://github.com/Microsoft/Windows-driver-samples/tree/main/video/IndirectDisplay){.external .text rel="nofollow"} [Indirect Display Driver Overview](https://learn.microsoft.com/en-us/windows-hardware/drivers/display/indirect-display-driver-model-overview){.external .text rel="nofollow"} [UMDF](https://learn.microsoft.com/en-us/windows-hardware/drivers/wdf/overview-of-the-umdf){.external .text rel="nofollow"}, [KMDF](https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/){.external .text rel="nofollow"} The Indirect Display Driver (IDD) enables GPUs to render graphics at arbitrary resolutions without a physical display connected on Windows OS systems.
RedHat vfio_pci Driver 6.2-rc1 [OSS](https://github.com/torvalds/linux/tree/master/drivers/vfio/pci){.external .text rel="nofollow"} in-kernel [RedHat](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/virtualization/chap-virtualization-pci_passthrough){.external .text rel="nofollow"}, [kernel.org](https://docs.kernel.org/driver-api/vfio.html){.external .text rel="nofollow"} 2022.12.15 [irqfd](index.php/Virtual_I/O_Internals.html#Instruction_Execution){.external .text rel="nofollow"}, [ioeventfd](index.php/Virtual_I/O_Internals.html#Instruction_Execution){.external .text rel="nofollow"}, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"} Reference VFIO Stub driver used for discrete assignment of IO, and assignment of some SR-IOV-backed vGPU devices into virtual machines. This driver is commonly replaced with a vendor built VFIO interface with differing memory management and/or page pinning mechanisms which are specific to the vGPU software internals.
Mediated Core (mdev.ko) Driver 6.2-rc1 OSS 0.044 MB [kernel.org](https://docs.kernel.org/driver-api/vfio-mediated-device.html){.external .text rel="nofollow"} 2016.xx.xx [irqfd](index.php/Virtual_I/O_Internals.html#Instruction_Execution){.external .text rel="nofollow"}, [ioeventfd](index.php/Virtual_I/O_Internals.html#Instruction_Execution){.external .text rel="nofollow"}, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"}, [Type 1 IOMMU](index.php/Virtual_I/O_Internals.html#Mediated_DMA_Translations){.external .text rel="nofollow"} The Mediated Core driver provides a common interface for mediated device management that can be used by drivers of different devices. It is an IOMMU/device-agnostic framework for exposing direct device access to user space in a secure, IOMMU-protected environment (based on VFIO).
guest communication daemon Daemon 0.1.0 [OSS](https://){.external .text rel="nofollow"} [](){.external .text rel="nofollow"} 2023.02.08 [Virtio-Serial](https://fedoraproject.org/wiki/Features/VirtioSerial){.external .text rel="nofollow"}, CLI Handles IO to and from guests and the host using Virtio-Serial to handle multiple different guest modules.
mdev management CLI 1.0 [OSS](https://){.external .text rel="nofollow"} 0.084 MB [](){.external .text rel="nofollow"} 2023.01.06 CLI, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"}, [RMAPI](index.php/GPU_Driver_Internals.html#RM_API){.external .text rel="nofollow"}, [Mediated Core](index.php/Virtual_I/O_Internals.html#Mediated_Core){.external .text rel="nofollow"} Configures the the [nvidia-vgpu-mgr](index.php/GPU_Driver_Internals.html#nvidia-vgpu-mgr){.external .text rel="nofollow"} process.
Intel i915 SR-IOV Driver [5.15](https://github.com/intel/linux-intel-lts/tree/5.15/ADL-linux-ER){.external .text rel="nofollow"} OSS in-kernel Intel\'s open source GPU driver for [GuC](index.php/GPU_Firmware.html#GuC){.external .text rel="nofollow"}-equipped graphics accelerators.
[GuC](index.php/GPU_Firmware.html#GuC){.external .text rel="nofollow"} μOS Firmware Blob IOMMU Interrupts, Power Management Interrupts, [GTT](index.php/GPU_Driver_Internals.html#GTT_(Graphics_Translation_Table)){.external .text rel="nofollow"} Handles scheduling, and power management.
HuC [GTT](index.php/GPU_Driver_Internals.html#GTT_(Graphics_Translation_Table)){.external .text rel="nofollow"} Handles video encoding/decoding.
[Display Virtualization for Windows OS](index.php/GPU_Driver_Internals.html#Display_Surface_Virtualization_2){.external .text rel="nofollow"} Driver [791](https://github.com/intel/Display-Virtualization-for-Windows-OS/releases/){.external .text rel="nofollow"} [OSS](https://github.com/intel/Display-Virtualization-for-Windows-OS){.external .text rel="nofollow"} [github.com/intel/Display-Virtualization-for-Windows-OS/blob/main/Readme.txt](https://github.com/intel/Display-Virtualization-for-Windows-OS/blob/main/Readme.txt){.external .text rel="nofollow"} [udmabuf](https://github.com/ikwzm/udmabuf){.external .text rel="nofollow"}, [UMDF](https://learn.microsoft.com/en-us/windows-hardware/drivers/wdf/overview-of-the-umdf){.external .text rel="nofollow"}, [KMDF](https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/){.external .text rel="nofollow"} Intel\'s \'Display Virtualization for Windows OS\' provides a virtual pixel surface used for hardware graphics rendering using Microsoft\'s open source \'Indirect Display Driver (IDD)\'. Display virtualization for Windows OS makes use of display memory sharing primitives provided in-driver by the i915 host.
Nvidia [OpenRM](index.php/OpenRM.html "OpenRM") Driver 525.85.12 OSS [github.com/NVIDIA/open-gpu-kernel-modules/blob/main/README.md](https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/README.md){.external .text rel="nofollow"} 2023.01.31 Nvidia\'s open source GPU driver for [GSP](index.php/GPU_Firmware.html#GSP){.external .text rel="nofollow"}-equipped graphics accelerators.
[GSP](index.php/GPU_Firmware.html#GSP){.external .text rel="nofollow"} RM (uproc) Firmware Blob 2023.01.31 RPC Embedded firmware based on [LibOS](https://lwn.net/Articles/637658/){.external .text rel="nofollow"} containing the [RM Core](index.php/GPU_Driver_Internals.html#RM_Core){.external .text rel="nofollow"}.
Falcon/NvRISC (uproc) FBIF (Frame Buffer Interface) / GMMU Embedded firmware which handles many aspects of the device including configuring the GPU\'s GMMU controller.
nvidia-vgpud Daemon [v15.2](https://docs.nvidia.com/grid/15.0/whats-new-vgpu/index.html){.external .text rel="nofollow"} Blob 0.108 MB [docs.nvidia.com/grid](https://docs.nvidia.com/grid/index.html){.external .text rel="nofollow"} 2023.01.xx CLI, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"}, [RMAPI](index.php/GPU_Driver_Internals.html#RM_API){.external .text rel="nofollow"}, [Mediated Core](index.php/Virtual_I/O_Internals.html#Mediated_Core){.external .text rel="nofollow"} Configures the the [nvidia-vgpu-mgr](index.php/GPU_Driver_Internals.html#nvidia-vgpu-mgr){.external .text rel="nofollow"} process.
nvidia-vgpu-mgr 0.132 MB 2023.01.xx [vmiop](index.php/GPU_Driver_Internals.html#vmiop){.external .text rel="nofollow"}, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"}, [RMAPI](index.php/GPU_Driver_Internals.html#RM_API){.external .text rel="nofollow"}, [vRPC](index.php/GPU_Driver_Internals.html#Guest_kernel_(nvidia.ko)){.external .text rel="nofollow"}, pRPC, [Mediated Core](index.php/Virtual_I/O_Internals.html#Mediated_Core){.external .text rel="nofollow"} Handles IO to and from guest RM, host RM, and hardware.
libnvidia-vgpu.so Library 3.1 MB 2023.01.xx [vmiop](index.php/GPU_Driver_Internals.html#vmiop){.external .text rel="nofollow"}, [RMAPI](index.php/GPU_Driver_Internals.html#RM_API){.external .text rel="nofollow"}, [Mediated Core](index.php/Virtual_I/O_Internals.html#Mediated_Core){.external .text rel="nofollow"} Handles IO to and from guest RM, host RM, and hardware. Contains circular dependancies with [nvidia-vgpu-mgr](index.php/GPU_Driver_Internals.html#nvidia-vgpu-mgr){.external .text rel="nofollow"}.
nvidia-vgpu-vfio.ko Driver 0.108 MB 2023.01.xx [Type 1 IOMMU](index.php/Virtual_I/O_Internals.html#Mediated_DMA_Translations){.external .text rel="nofollow"}, [irqfd, ioeventfd](index.php/Virtual_I/O_Internals.html#Instruction_Execution){.external .text rel="nofollow"}, [IOCTL](https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git/tree/Documentation/driver-api/ioctl.rst){.external .text rel="nofollow"}, [Mediated Core](index.php/Virtual_I/O_Internals.html#Mediated_Core){.external .text rel="nofollow"} Handles incremental memory mapping (non-page pinning per the standard vfio-pci driver).
------------- ----------------------------------------------------------------------------------------------------------------------------------------------- ------------- ----------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------- ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
: Component Table
## [More Information]{#More_Information .mw-headline}
1. [Nvidia RISC-V
Story](https://riscv.org/wp-content/uploads/2016/07/Tue1100_Nvidia_RISCV_Story_V2.pdf){.external
.text rel="nofollow"}
2. [](){.external .text
rel="nofollow"}
3. [Intel Graphics Programmer\'s Reference Manuals
(PRM)](https://01.org/linuxgraphics/documentation/hardware-specification-prms){.external
.text rel="nofollow"}
4. [i915: Hardware Contexts (and some bits about
batchbuffers)](https://bwidawsk.net/blog/2013/1/i915-hardware-contexts-and-some-bits-about-batchbuffers/){.external
.text rel="nofollow"}
5. [i915: The Global GTT Part
1](https://bwidawsk.net/blog/2014/6/the-global-gtt-part-1/){.external
.text rel="nofollow"}
6. [i915: Aliasing PPGTT Part
2](https://bwidawsk.net/blog/2014/6/aliasing-ppgtt-part-2/){.external
.text rel="nofollow"}
7. [i915: True PPGTT Part
3](https://bwidawsk.net/blog/2014/7/true-ppgtt-part-3/){.external
.text rel="nofollow"}
8. [i915: Future PPGTT Part 4 (Dynamic page table allocations, 64 bit
address space, GPU \"mirroring\", and yeah, something about relocs
too)](https://bwidawsk.net/blog/2014/7/future-ppgtt-part-4-dynamic-page-table-allocations-64-bit-address-space-gpu-mirroring-and-yeah-something-about-relocs-too/){.external
.text rel="nofollow"}
9. [i915: Security of the Intel Graphics Stack - Part 1 -
Introduction](https://igor-blue.github.io/2021/02/10/graphics-part1.html){.external
.text rel="nofollow"}
10. [i915: Security of the Intel Graphics Stack - Part 2 - FW \<-\>
GuC](https://igor-blue.github.io/2021/02/24/graphics-part2.html){.external
.text rel="nofollow"}
11. [i915: An Introduction to Intel GVT-g (with new
architecture)](https://01.org/sites/default/files/documentation/an_introduction_to_intel_gvt-g_for_external.pdf){.external
.text rel="nofollow"}
:::
::: printfooter
Retrieved from
\"[https://open-iov.org/index.php?title=GPU_Software_Bill_Of_Materials\_(SBOM)&oldid=23786](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&oldid=23786.html){dir="ltr"}\"
:::
:::
::: {#catlinks .catlinks .catlinks-allhidden mw="interface"}
:::
:::
:::
::: {#mw-navigation}
## Navigation menu
::: {#mw-head}
### Personal tools {#p-personal-label .vector-menu-heading}
::: vector-menu-content
- [[Log
in](https://open-iov.org/index.php?title=Special:UserLogin&returnto=GPU+Software+Bill+Of+Materials+%28SBOM%29&returntoquery=oldid%3D23786 "You are encouraged to log in; however, it is not mandatory [o]"){accesskey="o"}]{#pt-login}
:::
::: {#left-navigation}
### Namespaces {#p-namespaces-label .vector-menu-heading}
::: vector-menu-content
- [[Page](index.php/GPU_Software_Bill_Of_Materials_(SBOM).html "View the content page [c]"){accesskey="c"}]{#ca-nstab-main}
- [[Discussion](https://open-iov.org/index.php?title=Talk:GPU_Software_Bill_Of_Materials_(SBOM)&action=edit&redlink=1 "Discussion about the content page (page does not exist) [t]"){rel="discussion"
accesskey="t"}]{#ca-talk}
:::
### Variants [expanded]{.vector-menu-checkbox-expanded} [collapsed]{.vector-menu-checkbox-collapsed} {#p-variants-label .vector-menu-heading}
::: vector-menu-content
:::
:::
::: {#right-navigation}
### Views {#p-views-label .vector-menu-heading}
::: vector-menu-content
- [[Read](index.php/GPU_Software_Bill_Of_Materials_(SBOM).html)]{#ca-view}
- [[View
source](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&action=edit.html "This page is protected.
You can view its source [e]"){accesskey="e"}]{#ca-viewsource}
- [[View
history](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&action=history.html "Past revisions of this page [h]"){accesskey="h"}]{#ca-history}
:::
### More [expanded]{.vector-menu-checkbox-expanded} [collapsed]{.vector-menu-checkbox-collapsed} {#p-cactions-label .vector-menu-heading}
::: vector-menu-content
:::
::: {#p-search .vector-search-box role="search"}
<div>
### Search
::: {#simpleSearch search-loc="header-navigation"}
:::
</div>
:::
:::
:::
::: {#mw-panel}
::: {#p-logo role="banner"}
[](images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html "Visit the main page"){.mw-wiki-logo}
:::
### Navigation {#p-navigation-label .vector-menu-heading}
::: vector-menu-content
- [[Main
page](images/archive/c/c3/20221214193624!I915_Scheduling_Events_and_Requests.png.html "Visit the main page [z]"){accesskey="z"}]{#n-mainpage-description}
- [[Recent
changes](https://open-iov.org/index.php/Special:RecentChanges "A list of recent changes in the wiki [r]"){accesskey="r"}]{#n-recentchanges}
- [[Random
page](index.php/Special:Random.html "Load a random page [x]"){accesskey="x"}]{#n-randompage}
- [[Help about
MediaWiki](https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents)]{#n-help-mediawiki}
:::
### Tools {#p-tb-label .vector-menu-heading}
::: vector-menu-content
- [[What links
here](index.php/Special:WhatLinksHere/GPU_Software_Bill_Of_Materials_(SBOM).html "A list of all wiki pages that link here [j]"){accesskey="j"}]{#t-whatlinkshere}
- [[Related
changes](https://open-iov.org/index.php/Special:RecentChangesLinked/GPU_Software_Bill_Of_Materials_(SBOM) "Recent changes in pages linked from this page [k]"){rel="nofollow"
accesskey="k"}]{#t-recentchangeslinked}
- [[Special
pages](index.php/Special:SpecialPages.html "A list of all special pages [q]"){accesskey="q"}]{#t-specialpages}
- [[Printable
version](javascript:print(); "Printable version of this page [p]"){rel="alternate"
accesskey="p"}]{#t-print}
- [[Permanent
link](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&oldid=23786.html "Permanent link to this revision of the page")]{#t-permalink}
- [[Page
information](index.php%3Ftitle=GPU_Software_Bill_Of_Materials_(SBOM)&action=info.html "More information about this page")]{#t-info}
:::
:::
:::
- [This page was last edited on 13 June 2023, at
14:58.]{#footer-info-lastmod}
```{=html}
<!-- -->
```
- [[Privacy
policy](https://open-iov.org/index.php/Open-IOV:Privacy_policy "Open-IOV:Privacy policy")]{#footer-places-privacy}
- [[About
Open-IOV](index.php/Open-IOV:About.html "Open-IOV:About")]{#footer-places-about}
- [[Disclaimers](https://open-iov.org/index.php/Open-IOV:General_disclaimer "Open-IOV:General disclaimer")]{#footer-places-disclaimer}
```{=html}
<!-- -->
```
- [[{srcset="resources/assets/poweredby_mediawiki_132x47.png 1.5x, resources/assets/poweredby_mediawiki_176x62.png 2x"
width="88" height="31"
loading="lazy"}](https://www.mediawiki.org/)]{#footer-poweredbyico}
|