What is GPU virtualisation?

Virtualisation is the capability of a device to host one or more virtual machines (VMs) that each behave like actual independent machines with their own operating system (OS), all running on the same underlying device hardware. Regarding GPUs, this means the ability to support multiple concurrently running operating systems, with each equipped to submit graphics and compute workloads to the single GPU hardware entity. This white paper gives an overview of GPU virtualisation and its associated challenges and highlights the unique features of Imagination’s GPUs. Prepared by Imagination engineer Mihai Dragan, it covers:

  1. Introduction
    • What is GPU Virtualization?
    • Overview of GPU Virtualization and its challenges
    • Unique features of Imagination’s GPUs
  2. Introduction to GPU Virtualization
    • Early industry solutions
    • Device emulation
    • Paravirtualization
    • Full hardware virtualization
  3. GPU Virtualization in Automotive
  4. GPU Virtualization in Set-Top Boxes and Smart TVs
  5. GPU Virtualization in Data Centres
  6. PowerVR’s Full Hardware GPU Virtualization Solution
    • HyperLane Technology
    • Memory-Mapped Register Bank
    • Hardware Interrupt Line (GPU IRQ)
    • OSID Memory Transaction Identifier
  7. PowerVR Virtualization – Full Isolation for Full Security
    • Isolation Between Operating Systems
    • HyperLane Demonstration
    • Virtualization Quality of Service
    • Case Study: Reference Embedded Board
  8. Default Round-Robin Scheduling
    • Scheduling Algorithm
    • Frames Per Second Scores
  9. Prioritization
    • Priority Mechanisms
    • PVRTune Analysis
  10. Driver Isolation Groups
    • Mixed-Criticality Tasks
    • Isolation Group Configuration
  11. Hard Real-Time Requirements and Denial of Service Protection
    • Context Switching
    • Protection Against Malicious Workloads
  12. Summary