SlideShare a Scribd company logo
GPU Virtualization:
What we should know today
Liang Yan (lyan)
Virtualization Team
2
Outline
Schedul
ed
Downti
me
1. Background
GPU
Virtualization
2. GPU virtualization
Definition and Classification
Use scenario
3. Critical techniques
SRIOV vs MDEV
4. Demo
5. Current status and Todo
SUSE
Outside Provider
6. Q&A
Background
4
GPU Graphic Process Unit
• 1980’s – No GPU. PC used VGA controller
• 1990’s – Add more function into VGA controller
• 1997 – 3D acceleration functions:
Hardware for triangle setup and rasterization
Texture mapping
Shading
• 2000 – A single chip graphics processor ( beginning of GPU term)
• 2005 – Massively parallel programmable processors
• 2007 – CUDA (Compute Unified Device Architecture)
5
GPU Purpose
3D hardware acceleration
•DirectX
•OpenCL
•Vulkan
Graphic RenderGraphic Render
Big Data, Machine Learning: Tensor-flow, Caffe2
•CUDA Compute Unified Device Architecture
•OpenCL Open Computing Language
General ComputeGeneral Compute
6
GPU Structure
Fermi
• First generation of Tesla
• Unified Architecture
• MIMD ==> but better
performance with SIMD
• VLIW
• Different Storage Unit
Register File
L1
L2
GPU Memory VRAM
7
GPU
Traditional Pipeline Structure
Vertex Shader
Fragment/Pixel Shader
Other Shader
====================
New Unified Architect:
Unified shader
GPU Pipeline Structure
8
GPU resource management
Source: NVIDIA, Inc.
1. Channel
a command submission system,which is used to launch GPU
programs, start DMA operations or synchronize CPU and GPU
2. Context
3. Memory
VRAM: frame buffer
GTT: ring buffer for channel here
9
Virtualization
What is virtualization?
Choices:
Operating System
App. A App. B App. C App. D
Hardware
Virtualization
Virtual
Machine
OS
App. A App. B
Hardware
Virtual
Machine
OS
App. C App. D
Why?
New infrastructure, fundamental of Cloud
Efficient, Security,
What is virtualization?
Choices:
KVM, XEN, Cirtrix XEN-Server, VMWare Vsphere, Hyper-V
10
Virtualization
Virtualization
Virtual
Machine
OS
Hardware
Virtual
Machine
OS
Basic idea:
Try to make VM access Physical Resource directly, decrease the overload by
Virtualization.
Different Stage:
Emulation (QEMU, Bachs)
Para virtualization (XEN pv, QEMU virtio)
Full (Hardware assistant) virtualization
CPU:
VT-x Root and None-Root Mode
Memory:
EPT/NPT
IO device
VT-d/ AMD-Vi /SMMU
SR-IOV/MR-IOV
GPU Virtualization
12
GPU Virtualization
Virtual GPU for Guest VM
Like a real GPU as much as possible
GPU virtualization, different stage like Virtualization
Software Virtualization
● Software Emulated
CPU “trap and emulate” GPU instruction
Slow, limited function
● API forwarding
Frontend intercept APIs and forward
Backend translate and send back
Simple idea, but painful for API compatible
IO virtualization, GPU as a PCIe device today.
● GPU Passthrough
● Full GPU Virtualization
13
GPU Passthrough
GPU as a PCIe device today.
Full API support in Guest VM
Stable, supported by all Vendors with hardware requirement
From SLES 12SP2
SOC 8
Native-close performance, 95~97%
PCI resources:
PCI configure space, ROM, BARs(PIO, MMIO)
Key Components:
IOMMU: Hardware
VFIO: DMA operation in userspace level
14
VFIO and IOMMU
PCI resources:
PCI configure space, ROM, BARs(PIO, MMIO)
IOMMU: Hardware
DMA remapping
Interrupt remapping
VFIO: userspace driver for PCI device
Configure space QEMU emulated with VFIO
PIO I/O bitmap of VMCS
MMIO EPT
Interrupt IOEVENTFD IRQFD IOMMU
DMA IOMMU GPA <==> HPA
15
Full GPU Virtualization
Run native graphics driver in VM
Achieve good performance and moderate multiplexing
capability
● Split
Time Slices
framebuffer memory
● Isolate
Give a neat access between VM and Host Physical Device
IOMMU/Mdev and VFIO
DMA
Interrupt
● Schedule
Efficient and Robust
Pretty fix for AMD,
More flexible for NVIDIA, RR, BOND
16
vGPU Investments Upstream
● NVIDIA (GRID)
● Intel (GVT-G)
● AMD(GIM)
Intel has no VRAM
AMD has IOMMU support
SRIOV 97%
MDEV 80~90%
Full GPU Virtualization
17
Nvidia
Tesla Series: Volta Pascal Maxwell M6 M10 M60 P4 P6 P40 P100 V100
GRID: Kepler K1 K2 (VDI and application virtualization)
http://www.nvidia.com/object/grid-certified-servers.html
AMD
FirePro S7150 S7150x2
Radeon Pro V320 V340
Radeon Instinct MI6 MI8 MI25(Machine learning interface, CUDA compatible with HIP)
https://lists.freedesktop.org/archives/amd-gfx/2016-December/004075.html
Intel
     Haswell(3VMs)  Broadwell(7VMs) Skylake, Kaby Lake
     https://github.com/intel/gvt-linux/wiki
Full GPU Virtualization
SRIOV vs Mdev
19
20
Mediated devices
non SR-IOV, require vendor-
specific drivers to mediate sharing
Leveraging existing VFIO
framework, UAPI Vendor driver -
Mediated Device – managing
device’s internal I/O resource
SR-IOV devices
supported by standard VFIO PCI
(Direct Assignment)
Established QEMU VFIO/PCI driver,
KVM agnostic and well-defined UAPI
Virtualized PCI config /MMIO space
access, interrupt delivery Modular
IOMMU, pin and map memory for
DMA
21
MEDIATED DEVICE FRAMEWORK
Mediated core module (new) Mediated bus driver, create mediated device
Physical device interface for vendor driver callbacks Generic mediate device
management user interface (sysfs)
Mediated device module (new) Manage created mediated device, fully
compatible with VFIO user API
VFIO IOMMU driver (enhancement) VFIO IOMMU API TYPE1 compatible, easy
to extend to non-TYPE1
22
Registers VFIO MDEV as driver
Vendor driver registers devices
Vendor driver registers Mediated CBs
User writes mdev sysfs to create mdev device
QEMU calls VFIO API to add VFIO dev to IOMMU container, group, get fd back
QEMU access device fd and present it into VM
A mediated pass-through solution for graphics virtualization •
Pass-through performance critical resources •
Trap-and-emulate privileged operations •
Maintain a device model per VM
Demo
24
Demo
3D hardware acceleration
•DirectX
•OpenCL
•Vulkan
Intel GVT-GIntel GVT-G
Big Data, Machine Learning: Tensor-flow, Caffe2
•CUDA Compute Unified Device Architecture
•OpenCL Open Computing Language
Nvidia GRIDNvidia GRID
25
Use Scenario
GPU as a service
IVI
Visual Cloud
Current Status and ToDo
27
Most of the work is done by Intel Nvidia IBM and RH
unfortunately
SUSE
- Intel KVMGT technical ready
- Nvidia GRID technical ready
- AMD MxGPU ongoing
- GPU passthrough stage for Cloud
- GPU virtualization for CAAS
Outside
- Remote display
- IOMMU compatible
- Live Migration
- Scalability
28
Thank you.
Question?
29
REFERENCE
VGPU ON KVM
An Introduction to PCI Device Assignment with VFIO - Alex Williamson,
Red Hat [Qemu-devel] [PATCH v7 0/4] Add Mediated device support
[libvirt] [RFC] libvirt vGPU QEMU integratio
https://yq.aliyun.com/articles/590909?spm=a2c4e.11153940.blogcont599189.23.f2016d7bXPo7TD
https://zhuanlan.zhihu.com/p/35489035
30
+49 911 740 53 0 (Worldwide)
www.suse.com
Corporate Headquarters
Maxfeldstrasse 5
90409 Nuremberg
Germany
Join us on:
www.opensuse.org
Unpublished Work of SUSE. All Rights Reserved.
This work is an unpublished work and contains confidential, proprietary, and trade secret information of SUSE.
Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of
their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated,
abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE.
Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.
General Disclaimer
This document is not to be construed as a promise by any participating company to develop, deliver, or market a
product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making
purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document,
and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose.
The development, release, and timing of features or functionality described for SUSE products remains at the sole
discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at
any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in
this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All
third-party trademarks are the property of their respective owners.
257-000020-001

More Related Content

PDF
Software Defined Datacenter with Proxmox
PPTX
Kubernetes PPT.pptx
PDF
Deploy Application on Kubernetes
PDF
Virtualization Architecture & KVM
PDF
Monitoring in CloudStack
PPTX
Docker and kubernetes
PDF
The kvm virtualization way
PDF
Android IPC Mechanism
Software Defined Datacenter with Proxmox
Kubernetes PPT.pptx
Deploy Application on Kubernetes
Virtualization Architecture & KVM
Monitoring in CloudStack
Docker and kubernetes
The kvm virtualization way
Android IPC Mechanism

What's hot (20)

PDF
Ceph with CloudStack
PDF
Introducing Amazon EKS Anywhere On Apache CloudStack
PPTX
Docker Networking Overview
PDF
OpenShift Virtualization- Technical Overview.pdf
PDF
XPDDS17: Bring up PCI Passthrough on ARM - Julien Grall, ARM
PDF
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
PPTX
Docker introduction (1)
PDF
Virtualization with KVM (Kernel-based Virtual Machine)
PDF
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
PDF
VMware vSphere Networking deep dive
PDF
An Introduction to Kubernetes
PDF
Open shift 4 infra deep dive
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
PPTX
DevOps with Kubernetes
ODP
SR-IOV Introduce
PPTX
U-boot and Android Verified Boot 2.0
PDF
Kubernetes
PDF
qCUDA-ARM : Virtualization for Embedded GPU Architectures
PPTX
VMware Advance Troubleshooting Workshop - Day 3
PDF
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Ceph with CloudStack
Introducing Amazon EKS Anywhere On Apache CloudStack
Docker Networking Overview
OpenShift Virtualization- Technical Overview.pdf
XPDDS17: Bring up PCI Passthrough on ARM - Julien Grall, ARM
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
Docker introduction (1)
Virtualization with KVM (Kernel-based Virtual Machine)
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
VMware vSphere Networking deep dive
An Introduction to Kubernetes
Open shift 4 infra deep dive
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
DevOps with Kubernetes
SR-IOV Introduce
U-boot and Android Verified Boot 2.0
Kubernetes
qCUDA-ARM : Virtualization for Embedded GPU Architectures
VMware Advance Troubleshooting Workshop - Day 3
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Ad

Similar to GPU Virtualization in SUSE (20)

PDF
CloudStack GPU Integration - Rohit Yadav
PDF
A-Journney-to-support-vgpu-in-firecracker.pdf
PDF
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PDF
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
PPTX
Simplifying Multi-User SOLIDWORKS Implementations
PPT
Agnostic Device Drivers
PDF
NVDIMM block drivers with NFIT
PDF
ROCm and Distributed Deep Learning on Spark and TensorFlow
PDF
OffensiveCon2022: Case Studies of Fuzzing with Xen
PDF
Fuzzing_with_Xen.pdf
PPTX
Multi-faceted Microarchitecture Level Reliability Characterization for NVIDIA...
PDF
Device virtualization and management in xen
PDF
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
PDF
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
PDF
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
PPTX
V mware view™ poc jumpstart service
PDF
Virtualization, The future of computing (archived)
PPTX
Virtualization 101
PDF
LCA13: Common Display Framework (CDF)
PDF
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
CloudStack GPU Integration - Rohit Yadav
A-Journney-to-support-vgpu-in-firecracker.pdf
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Simplifying Multi-User SOLIDWORKS Implementations
Agnostic Device Drivers
NVDIMM block drivers with NFIT
ROCm and Distributed Deep Learning on Spark and TensorFlow
OffensiveCon2022: Case Studies of Fuzzing with Xen
Fuzzing_with_Xen.pdf
Multi-faceted Microarchitecture Level Reliability Characterization for NVIDIA...
Device virtualization and management in xen
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
Cisco at v mworld 2015 gpu-solution-c240_m4-082715-vmworld
SystemReady IR and MediaTek Genio-1200-EVK - Tech part - COSCUP 20240804
V mware view™ poc jumpstart service
Virtualization, The future of computing (archived)
Virtualization 101
LCA13: Common Display Framework (CDF)
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
Ad

More from Liang Yan (12)

PDF
Stable-Diffusion-v2.pdf
PDF
ChatGPT-the-revolution-is-coming.pdf
PDF
Bring-your-ML-Project-into-Production-v2.pdf
PDF
utf.pdf
PDF
GPU-Virtualization-in-openSUSE.pdf
PDF
i-just-want-to-use-one-giant-vm.pdf
PDF
a-new-playground-for-spdk-dpdk-on-arm64.pdf
PDF
Accelerate-your-AI-Cloud-infrastructure.pdf
PDF
A journay to do AI research in the cloud.pdf
ODP
Linux and SUSE
PDF
The abcs of gpu
PDF
How to-boot-linuxl-on-your-soc-boards
Stable-Diffusion-v2.pdf
ChatGPT-the-revolution-is-coming.pdf
Bring-your-ML-Project-into-Production-v2.pdf
utf.pdf
GPU-Virtualization-in-openSUSE.pdf
i-just-want-to-use-one-giant-vm.pdf
a-new-playground-for-spdk-dpdk-on-arm64.pdf
Accelerate-your-AI-Cloud-infrastructure.pdf
A journay to do AI research in the cloud.pdf
Linux and SUSE
The abcs of gpu
How to-boot-linuxl-on-your-soc-boards

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Transform Your Business with a Software ERP System
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administration Chapter 2
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Digital Strategies for Manufacturing Companies
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Transform Your Business with a Software ERP System
Online Work Permit System for Fast Permit Processing
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administration Chapter 2
How to Choose the Right IT Partner for Your Business in Malaysia
Digital Strategies for Manufacturing Companies
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Materi_Pemrograman_Komputer-Looping.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms II-SECS-1021-03
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Materi-Enum-and-Record-Data-Type (1).pptx
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Operating system designcfffgfgggggggvggggggggg
PTS Company Brochure 2025 (1).pdf.......
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
top salesforce developer skills in 2025.pdf

GPU Virtualization in SUSE

  • 1. GPU Virtualization: What we should know today Liang Yan (lyan) Virtualization Team
  • 2. 2 Outline Schedul ed Downti me 1. Background GPU Virtualization 2. GPU virtualization Definition and Classification Use scenario 3. Critical techniques SRIOV vs MDEV 4. Demo 5. Current status and Todo SUSE Outside Provider 6. Q&A
  • 4. 4 GPU Graphic Process Unit • 1980’s – No GPU. PC used VGA controller • 1990’s – Add more function into VGA controller • 1997 – 3D acceleration functions: Hardware for triangle setup and rasterization Texture mapping Shading • 2000 – A single chip graphics processor ( beginning of GPU term) • 2005 – Massively parallel programmable processors • 2007 – CUDA (Compute Unified Device Architecture)
  • 5. 5 GPU Purpose 3D hardware acceleration •DirectX •OpenCL •Vulkan Graphic RenderGraphic Render Big Data, Machine Learning: Tensor-flow, Caffe2 •CUDA Compute Unified Device Architecture •OpenCL Open Computing Language General ComputeGeneral Compute
  • 6. 6 GPU Structure Fermi • First generation of Tesla • Unified Architecture • MIMD ==> but better performance with SIMD • VLIW • Different Storage Unit Register File L1 L2 GPU Memory VRAM
  • 7. 7 GPU Traditional Pipeline Structure Vertex Shader Fragment/Pixel Shader Other Shader ==================== New Unified Architect: Unified shader GPU Pipeline Structure
  • 8. 8 GPU resource management Source: NVIDIA, Inc. 1. Channel a command submission system,which is used to launch GPU programs, start DMA operations or synchronize CPU and GPU 2. Context 3. Memory VRAM: frame buffer GTT: ring buffer for channel here
  • 9. 9 Virtualization What is virtualization? Choices: Operating System App. A App. B App. C App. D Hardware Virtualization Virtual Machine OS App. A App. B Hardware Virtual Machine OS App. C App. D Why? New infrastructure, fundamental of Cloud Efficient, Security, What is virtualization? Choices: KVM, XEN, Cirtrix XEN-Server, VMWare Vsphere, Hyper-V
  • 10. 10 Virtualization Virtualization Virtual Machine OS Hardware Virtual Machine OS Basic idea: Try to make VM access Physical Resource directly, decrease the overload by Virtualization. Different Stage: Emulation (QEMU, Bachs) Para virtualization (XEN pv, QEMU virtio) Full (Hardware assistant) virtualization CPU: VT-x Root and None-Root Mode Memory: EPT/NPT IO device VT-d/ AMD-Vi /SMMU SR-IOV/MR-IOV
  • 12. 12 GPU Virtualization Virtual GPU for Guest VM Like a real GPU as much as possible GPU virtualization, different stage like Virtualization Software Virtualization ● Software Emulated CPU “trap and emulate” GPU instruction Slow, limited function ● API forwarding Frontend intercept APIs and forward Backend translate and send back Simple idea, but painful for API compatible IO virtualization, GPU as a PCIe device today. ● GPU Passthrough ● Full GPU Virtualization
  • 13. 13 GPU Passthrough GPU as a PCIe device today. Full API support in Guest VM Stable, supported by all Vendors with hardware requirement From SLES 12SP2 SOC 8 Native-close performance, 95~97% PCI resources: PCI configure space, ROM, BARs(PIO, MMIO) Key Components: IOMMU: Hardware VFIO: DMA operation in userspace level
  • 14. 14 VFIO and IOMMU PCI resources: PCI configure space, ROM, BARs(PIO, MMIO) IOMMU: Hardware DMA remapping Interrupt remapping VFIO: userspace driver for PCI device Configure space QEMU emulated with VFIO PIO I/O bitmap of VMCS MMIO EPT Interrupt IOEVENTFD IRQFD IOMMU DMA IOMMU GPA <==> HPA
  • 15. 15 Full GPU Virtualization Run native graphics driver in VM Achieve good performance and moderate multiplexing capability ● Split Time Slices framebuffer memory ● Isolate Give a neat access between VM and Host Physical Device IOMMU/Mdev and VFIO DMA Interrupt ● Schedule Efficient and Robust Pretty fix for AMD, More flexible for NVIDIA, RR, BOND
  • 16. 16 vGPU Investments Upstream ● NVIDIA (GRID) ● Intel (GVT-G) ● AMD(GIM) Intel has no VRAM AMD has IOMMU support SRIOV 97% MDEV 80~90% Full GPU Virtualization
  • 17. 17 Nvidia Tesla Series: Volta Pascal Maxwell M6 M10 M60 P4 P6 P40 P100 V100 GRID: Kepler K1 K2 (VDI and application virtualization) http://www.nvidia.com/object/grid-certified-servers.html AMD FirePro S7150 S7150x2 Radeon Pro V320 V340 Radeon Instinct MI6 MI8 MI25(Machine learning interface, CUDA compatible with HIP) https://lists.freedesktop.org/archives/amd-gfx/2016-December/004075.html Intel      Haswell(3VMs)  Broadwell(7VMs) Skylake, Kaby Lake      https://github.com/intel/gvt-linux/wiki Full GPU Virtualization
  • 19. 19
  • 20. 20 Mediated devices non SR-IOV, require vendor- specific drivers to mediate sharing Leveraging existing VFIO framework, UAPI Vendor driver - Mediated Device – managing device’s internal I/O resource SR-IOV devices supported by standard VFIO PCI (Direct Assignment) Established QEMU VFIO/PCI driver, KVM agnostic and well-defined UAPI Virtualized PCI config /MMIO space access, interrupt delivery Modular IOMMU, pin and map memory for DMA
  • 21. 21 MEDIATED DEVICE FRAMEWORK Mediated core module (new) Mediated bus driver, create mediated device Physical device interface for vendor driver callbacks Generic mediate device management user interface (sysfs) Mediated device module (new) Manage created mediated device, fully compatible with VFIO user API VFIO IOMMU driver (enhancement) VFIO IOMMU API TYPE1 compatible, easy to extend to non-TYPE1
  • 22. 22 Registers VFIO MDEV as driver Vendor driver registers devices Vendor driver registers Mediated CBs User writes mdev sysfs to create mdev device QEMU calls VFIO API to add VFIO dev to IOMMU container, group, get fd back QEMU access device fd and present it into VM A mediated pass-through solution for graphics virtualization • Pass-through performance critical resources • Trap-and-emulate privileged operations • Maintain a device model per VM
  • 23. Demo
  • 24. 24 Demo 3D hardware acceleration •DirectX •OpenCL •Vulkan Intel GVT-GIntel GVT-G Big Data, Machine Learning: Tensor-flow, Caffe2 •CUDA Compute Unified Device Architecture •OpenCL Open Computing Language Nvidia GRIDNvidia GRID
  • 25. 25 Use Scenario GPU as a service IVI Visual Cloud
  • 27. 27 Most of the work is done by Intel Nvidia IBM and RH unfortunately SUSE - Intel KVMGT technical ready - Nvidia GRID technical ready - AMD MxGPU ongoing - GPU passthrough stage for Cloud - GPU virtualization for CAAS Outside - Remote display - IOMMU compatible - Live Migration - Scalability
  • 29. 29 REFERENCE VGPU ON KVM An Introduction to PCI Device Assignment with VFIO - Alex Williamson, Red Hat [Qemu-devel] [PATCH v7 0/4] Add Mediated device support [libvirt] [RFC] libvirt vGPU QEMU integratio https://yq.aliyun.com/articles/590909?spm=a2c4e.11153940.blogcont599189.23.f2016d7bXPo7TD https://zhuanlan.zhihu.com/p/35489035
  • 30. 30 +49 911 740 53 0 (Worldwide) www.suse.com Corporate Headquarters Maxfeldstrasse 5 90409 Nuremberg Germany Join us on: www.opensuse.org
  • 31. Unpublished Work of SUSE. All Rights Reserved. This work is an unpublished work and contains confidential, proprietary, and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability. General Disclaimer This document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners. 257-000020-001