One of the things I have been excited to try for a while is to build a system and integrate my Alveo U200 accelerator card. In this article we are going to look at what system is needed to get the Alveo up and running.
I should say at this point that I have several challenging developments coming up for a satellite project, and as such, I wanted to create a capable machine not just for the Alveo card but for other applications as well. Of course, being an engineer, I wanted to select and build my own PC; I settled on the following configuration:
AMD Ryzen 9 3900X
128 GB DDR 4
GeForce RTX 2080 Ti
1 TB SSD
Aorus X570 Motherboard
When connecting the Alveo card to the PC we need to ensure the power supply is connected to a PCIe power supply, and as the U200 I have is passively cooled, a fan is needed in the case to provide sufficient airflow.
Software-wise Alveo cards work with a Linux operating system; I installed Ubuntu 18.04.04 on the machine.
With the machine powered on and accessible, we can open a terminal window to check initially that the Alveo card is present on the PCIe bus.
In a terminal window enter the command:
sudo lspci -vd 10ee:
This will list the devices on the PCIe bus, -v makes for a verbose output while the -d lists only devices with the specific vendor code of 10ee (this is the Xilinx PCIe Vendor code).
Once we see the Alveo card on the PCIe system the next step is to navigate to the Xilinx Alveo getting started page and download the appropriate installation packages for the Xilinx Run Time and Deployment Target Platform.
The first step is to install the Xilinx Run Time using the command:
sudo apt install <path to download> xrt_202010.2.6.655_18_04-amd64-xrt.deb
This will install the Xilinx Run Time which is to be used by the Ubuntu operating system as we develop our applications.
The XRT will be installed into the /opt/Xilinx/xrt directory
With the XRT Installed the next step is to install the Deployment Target Platform, this defines the physical communication and is flashed onto the Alveo card once we have installed the application on the Linux OS.
Use the command:
sudo apt install <path to download>Xilinx-u200-xdma-201830.2.2580015_18_04.deb
This will install the Deployment Target Platform under the /opt/Xilinx directory
The completion of the Deployment Target Platform installation will show the command used to flash the Alveo card, in this instance it is:
sudo /opt/xilinx/xrt/bin/xbutil flash -a Xilinx_u200_xdma_201830_2 -t 1561465320
This will take a few minute and once completed the machine needs a complete power off / on again cycle.
Once you have power cycled the machine it is time to make sure the Alveo card is correctly flashed.
The first thing to do is set up the environment, to do this we can run the set up scripts under the /opt/xilinx/xrt/setup.sh
We can also rerun the initial LSPCI command and see an updated response, showing both the Xilinx mgmt. and XOCL elements.
The final stage is to validate the installation using the command:
xbutil validate -d 0000:04:00.0
This will test the interfaces between the processor and the Alveo card.