+ +
+
+
+

GPU Software Bill Of Materials (SBOM)

+
+
From Open-IOV
+
+
+ +
+ Jump to navigation + Jump to search +

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 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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Component Table +
Vendor +Component +Description +Version +OSS or Blob +Filesize +Vendor Docs +Release Date +Interfaces / APIs +Notes +
Microsoft +Indirect Display Driver (IDD) +Driver + +OSS + +Indirect Display Driver Overview + +UMDF, KMDF +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 +in-kernel +RedHat, kernel.org +2022.12.15 +irqfd, ioeventfd, IOCTL +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 +2016.xx.xx +irqfd, ioeventfd, IOCTL, Type 1 IOMMU +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 + + +2023.02.08 +Virtio-Serial, 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 +0.084 MB + +2023.01.06 +CLI, IOCTL, RMAPI, Mediated Core +Configures the the nvidia-vgpu-mgr process. +
Intel +i915 SR-IOV +Driver +5.15 +OSS +in-kernel + + + +Intel's open source GPU driver for GuC-equipped graphics accelerators. +
GuC μOS +Firmware +Blob + + + +IOMMU Interrupts, Power Management Interrupts, GTT +Handles scheduling, and power management. +
HuC + + + +GTT +Handles video encoding/decoding. +
Display Virtualization for Windows OS +Driver +791 +OSS + +github.com/intel/Display-Virtualization-for-Windows-OS/blob/main/Readme.txt + +udmabuf, UMDF, KMDF +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 +Driver +525.85.12 +OSS + +github.com/NVIDIA/open-gpu-kernel-modules/blob/main/README.md +2023.01.31 + +Nvidia's open source GPU driver for GSP-equipped graphics accelerators. +
GSP RM (uproc) +Firmware +Blob + + +2023.01.31 +RPC +Embedded firmware based on LibOS containing the RM Core. +
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 +Blob +0.108 MB +docs.nvidia.com/grid +2023.01.xx +CLI, IOCTL, RMAPI, Mediated Core +Configures the the nvidia-vgpu-mgr process. +
nvidia-vgpu-mgr +0.132 MB +2023.01.xx +vmiop, IOCTL, RMAPI, vRPC, pRPC, Mediated Core +Handles IO to and from guest RM, host RM, and hardware. +
libnvidia-vgpu.so +Library +3.1 MB +2023.01.xx +vmiop, RMAPI, Mediated Core +Handles IO to and from guest RM, host RM, and hardware. Contains circular dependancies with nvidia-vgpu-mgr. +
nvidia-vgpu-vfio.ko +Driver +0.108 MB +2023.01.xx +Type 1 IOMMU, irqfd, ioeventfd, IOCTL, Mediated Core +Handles incremental memory mapping (non-page pinning per the standard vfio-pci driver). +
+

More Information

+
  1. Nvidia RISC-V Story
  2. +
  3. +
  4. Intel Graphics Programmer's Reference Manuals (PRM)
  5. +
  6. i915: Hardware Contexts (and some bits about batchbuffers)
  7. +
  8. i915: The Global GTT Part 1
  9. +
  10. i915: Aliasing PPGTT Part 2
  11. +
  12. i915: True PPGTT Part 3
  13. +
  14. i915: Future PPGTT Part 4 (Dynamic page table allocations, 64 bit address space, GPU "mirroring", and yeah, something about relocs too)
  15. +
  16. i915: Security of the Intel Graphics Stack - Part 1 - Introduction
  17. +
  18. i915: Security of the Intel Graphics Stack - Part 2 - FW <-> GuC
  19. +
  20. i915: An Introduction to Intel GVT-g (with new architecture)
+ + + + +
+
+ +
+