Intel® Graphics SR-IOV Enablement Toolkit

author-image

By

Overview

Intel® Graphics SR-IOV Enablement Toolkit contains the software components and ingredients to enable Intel's graphics virtualization technology (Graphics SR-IOV) on cloud and edge-native infrastructure. The goal is to deliver GPU-accelerated workloads capability to virtual machines running on Kubernetes* clusters.

Intel Graphics SR-IOV Technology

Intel Graphics SR-IOV is Intel's latest virtualization technology for graphics. Single Root I/O Virtualization (SR-IOV) defines a standard method for sharing a physical device function by partitioning the device into multiple virtual functions. Each virtual function is directly assigned to a virtual machine, thereby achieving near-native performance for the virtual machine.


The key benefits of Intel Graphics SR-IOV are:

 

  • A standard method of sharing a physical GPU with virtual machines, thus allowing efficient use of GPU resources in a virtual system.
  • Improved video transcode, media AI analytics, and virtual desktop infrastructure (VDI) workloads performance in virtual machine.
  • Support up to four independent display output and seven virtualized functions (12th generation Intel® Core™ embedded processors).
  • Support for multiple guest operating systems.

Cloud and Edge Native Technology

Application containerization and Kubernetes orchestrator have revolutionized the way software is developed and deployed. The containerization era has led to the development of microservices that typically run as containers and have the advantage of being lightweight, require less memory, fast start-up time, and operate at native performance. But there are scenarios where your application still needs to run as full-fledged virtual machines and cannot be run as containers due to legacy software support or integration complexity.

To achieve the best of both scenarios, using Kubernetes and KuberVirt (a Kubernetes extension) allows running traditional virtual machine workloads natively side by side with container workloads. With this solution, you can have the advantage of a single infrastructure for both containerized and virtualized workloads. You can also benefit from the power and features of Kubernetes.

Select Configure & Download to download the reference implementation and the software listed below.

Configure & Download

Prerequisites

 

 

Note  Save the kernel Debian package files built by completing section 3.0: Host OS Kernel Build Steps of the Alder-Lake-MultiOS-With-GFX-SR-IOV-Virtualization-On-Ubuntu-User-Guide.pdf into a folder and proceed to create an archive file. This archive file is used to set up Ubuntu VM at Usage > Deploy Ubuntu Virtual Machine. See the following to create an archive file:

  mkdir kernel
  cp *.deb kernel/
  tar -czvf kernel.tgz kernel/

How It Works

Intel® Graphics SR-IOV Enablement Toolkit uses Kubernetes orchestrator and KubeVirt to deploy and manage VM resources. The software package consists of YAML files and bash script files.
 

  • The YAML files are required to configure the virtual environment running on Kubernetes cluster. 
  • The bash script files provided are for graphic SR-IOV enablement and Kubernetes cluster setup.
     

Figure 1. Simple Architecture Diagram

Figure 1. Simple Architecture Diagram

Get Started

 

Download the reference implementation and software.

Configure & Download

Install the Reference Implementation

  1. Clone the repo and install the toolkit. When prompted, answer 'y' to proceed with the installation.

Note If operating behind a corporate firewall, set up the proxy settings before continuing: easy_install.sh should only be run on newly set up systems to prevent overwriting existing installed software and configurations. For more customized installation, see Manual Install at GitHub.

   git clone https://github.com/intel/kubevirt-gfx-sriov.git   
   cd gfx-sriov
   ./scripts/easy_install.sh
  1. After rebooting, check for the presence of intel.com/sriov-gpudevices resource.

Note  Wait for all pods' STATUS=Running by checking with the following command:

    kubectl get pods -n kubevirt
    kubectl describe nodes

    Output:

    Capacity:
      intel.com/sriov-gpudevice:     7
    Allocatable:
      intel.com/sriov-gpudevice:     7
    Allocated resources:
      Resource                       Requests     Limits
      --------                       --------     ------
      intel.com/sriov-gpudevice      0            0
  1. After completing the installation of Intel® Graphics SR-IOV Enablement Toolkit, follow the links below to setup virtual machines.
    Deploy a Windows Virtual Machine
    Deploy an Ubuntu Virtual Machine


For more examples, refer to the Documentation

Troubleshooting

Troubleshooting Support Forum


If you're unable to resolve your issues, contact the Edge Software Support Forum.