Getting Started on Amazon EC2 VT1

Amazon EC2 VT1 Configurations

The following table summarizes the number of Alveo U30 cards and Xilinx devices for each of the different instance sizes of the Amazon EC2 VT1 family. For more details about the transcoding performance of these different configurations, refer to the performance tables in the Specs and Features page of this documentation.

Instance Type

Number of U30 Cards

Number of Transcode devices

vt1.3xl

1

2

vt1.6xl

2

4

vt1.24xl

8

16


Quick Start Guide for Amazon EC2 VT1

Launch an Amazon EC2 VT1 Instance

Connect to the Amazon EC2 VT1 Instance

Set up the runtime environment:

source /opt/xilinx/xcdr/setup.sh
  • This step should be performed each time you open a new terminal on your instance.

  • You are now ready to use the video acceleration features of your Amazon EC2 VT1 instance.

Confirm that your system is correctly configured and that the Xilinx devices are visible:

xbutil examine

Run your first examples

  • See the tutorials and examples page to learn how to run video transcoding jobs on your Amazon EC2 VT1 instance.


Installing the Xilinx Video SDK on an existing AMI

In order to use a custom AMI on a Amazon EC2 VT1 instance, it is necessary to install the Xilinx Video SDK in the AMI. This section explains how to do this. These steps are not necessary when using the public Xilinx Video SDK AMI since it already includes a complete installation of the Xilinx Video SDK and can readily be used on a Amazon EC2 VT1 instance.

Additionally, AWS provides Packer scripts to make it easy for customers to build their own AMI’s for use with VT1 instances. Those scripts can be found at the following repo: https://github.com/aws-samples/aws-vt-baseami-pipeline

  1. Disable automatic kernel updates on your system

  2. Install the following required packages if they are not already present

    • RHEL

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    • Amazon Linux 2

    sudo amazon-linux-extras install epel -y
    
  3. Remove older versions of the Xilinx Video SDK packages in case any where previously installed

    • Ubuntu

    sudo apt-get remove xvbm xilinx-u30-xvbm xrmu30decoder xrmu30scaler xrmu30encoder xmpsoccodecs xmultiscaler xlookahead xmaapps xmapropstojson xffmpeg launcher jobslotreservation xcdr
    sudo apt-get remove xrm xilinx-container-runtime xilinx-xvbm xilinx-u30-xrm-decoder xilinx-u30-xrm-encoder xilinx-u30-xrm-multiscaler xilinx-u30-xma-multiscaler xilinx-u30-xlookahead xilinx-u30-xmpsoccodecs xilinx-u30-xma-apps xilinx-u30-xmapropstojson xilinx-u30-xffmpeg xilinx-u30-launcher xilinx-u30-jobslotreservation xilinx-u30-xcdr xilinx-u30-gstreamer-1.16.2 xilinx-u30-vvas xilinx-sc-fw-u30 xilinx-u30-gen3x4-base xilinx-u30-gen3x4-validate
    
    • RHEL and Amazon Linux 2

    sudo yum remove xvbm xilinx-u30-xvbm xrmu30decoder xrmu30scaler xrmu30encoder xmpsoccodecs xmultiscaler xlookahead xmaapps xmapropstojson xffmpeg launcher jobslotreservation xcdr
    sudo yum remove xrm xilinx-container-runtime xilinx-xvbm xilinx-u30-xrm-decoder xilinx-u30-xrm-encoder xilinx-u30-xrm-multiscaler xilinx-u30-xma-multiscaler xilinx-u30-xlookahead xilinx-u30-xmpsoccodecs xilinx-u30-xma-apps xilinx-u30-xmapropstojson xilinx-u30-xffmpeg xilinx-u30-launcher xilinx-u30-jobslotreservation xilinx-u30-xcdr xilinx-u30-gstreamer-1.16.2 xilinx-u30-vvas xilinx-sc-fw-u30 xilinx-u30-gen3x4-base xilinx-u30-gen3x4-validate
    
  4. Ensure your package management client points to the remote package repository for the Xilinx Video SDK, according to the instructions described in the package feed configuration page.

  5. Install the core package of the Xilinx Video SDK. Note: it is imperative for the XRT package to be set to version 2.11.722.

    • Ubuntu

    sudo apt-get update
    sudo apt-get install xrt=2.11.722
    sudo apt-mark hold xrt
    sudo apt-get install xilinx-alveo-u30-core
    
    • RHEL and Amazon Linux 2

    sudo yum update
    sudo yum install yum-plugin-versionlock
    sudo yum install xrt-2.11.722-1.x86_64
    sudo yum versionlock xrt-2.11.722
    sudo yum install xilinx-alveo-u30-core
    
  6. Optionally install the other packages of the Xilinx Video SDK. Refer to the package description table for more details on the different packages included in the Xilinx Video SDK. Note: on RHEL, installing the GStreamer package requires an active RHEL subscription.

    • Ubuntu

    sudo apt-get install xilinx-alveo-u30-ffmpeg
    sudo apt-get install xilinx-alveo-u30-gstreamer
    sudo apt-get install xilinx-alveo-u30-examples
    
    • RHEL and Amazon Linux 2

    sudo yum install xilinx-alveo-u30-ffmpeg
    sudo yum install xilinx-alveo-u30-gstreamer
    sudo yum install xilinx-alveo-u30-examples
    

Perform a warm reboot of the instance.


Setting Up the Runtime Environment

Note: These steps below should be performed each time you open a new terminal on your system.

Set up the runtime environment:

source /opt/xilinx/xcdr/setup.sh

Optionally verify that the cards are correctly detected:

xbutil examine

You are now ready to use the Xilinx video acceleration cards installed in your system.


Working with Containers and ECS

For instructions on how to work with Docker containers, refer to the Container Setup page of this documentation.

In addition, the user guide for Amazon ECS can be found here: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/getting-started.html

Refer to Building ECS AMI on how to build your own ECS AMI with the Xilinx Video SDK.


Working with Kubernetes and EKS

For instructions on how to deploy Docker containers with Kubernetes and EKS, refer to the Deploying with Kubernetes page of this documentation. A comprehensive step-by-step guide on the AWS Compute Blog can be found here: https://aws.amazon.com/blogs/compute/deep-dive-on-amazon-ec2-vt1-instances/

In addition, the user guide for Amazon EKS can be found here: https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html

Refer to Building an EKS AMI on how to build your own EKS AMI with the Xilinx Video SDK.