ZebraTM by Mipsology
on Xilinx AlveoTM U50LV
Hello from Mipsology!
Thank you for planning to use Xilinx Alveo U50LV enabled with Zebra to perform the most advanced neural network inference on FPGA.
We are providing you with the first information on enabling your card with Zebra.
Do not hesitate to contact us for more information.
Difference between Xilinx Alveo U50 and Alveo U50LV:
Please note that the card you have acquired is a Low Voltage version of the Alveo U50 card. Zebra only runs on this version of the U50 as it delivers the best performance and latency. If you own the other (non-low power) Alveo U50, you will not be able to execute Zebra. .
Note: Zebra can also be used on the Alveo U200 and Alveo U250.
Contacts:
If you need any assistance with Xilinx Alveo U50LV, please contact your Xilinx representative or visit https://www.xilinx.com/support.html.
If you need any assistance with Zebra on Xilinx Alveo U50LV, please contact us at Mipsology:
Obtaining a license: u50_licenses@mipsology.com
Getting support: u50_support@mipsology.com
Sales questions: u50_sales@mipsology.com
Preparing to use a Xilinx Alveo U50LV card:
The following information is useful if you do not have a copy of Vivado from Xilinx. Vivado is used exclusively to program the Alveo U50LV card the first time.
The following instructions require you to have access to the following document:
You do not need to read the entire document as Zebra simplifies drastically your exposure to FPGA.
Please follow these instructions to prepare to install a card:
- If you don’t have one, create an account on Xilinx.com at https://www.xilinx.com/registration/create-account.html
- Download the Xilinx Vivado Lab software:
https://www.xilinx.com/support/download.html
Please select the latest version, which is 2019.2 as the time of writing.
- Follow instructions from Xilinx to install Vivado Lab software. Typically, the following steps need to be performed:
- untar the downloaded archive
- execute the xsetup program
- follow the instruction on the screen
- Install the driver cable:
Make sure you have a programming cable: www.xilinx.com/alveoprogrammingcable.
cd <vivado_install_path>data/xicom/cable_drivers/lin64/install_script/install_drivers sudo ./install_drivers
Note: this command requires root access
Preparing to use the Zebra software:
Please contact Mipsology at u50_support@misology.com to get the pointer to the latest Zebra version and instructions to install it.
Zebra software package comes with different components:
- Zebra software stack to use Zebra from popular frameworks like TensorFlow, PyTorch, Caffe, etc.
- FPGA bistreams for Alveo U50LV
- Docker image for restricted internet access
- Pre-packaged examples from internet
Obtaining a license for Zebra on Alveo U50LV
For each card you enable with Zebra, you will need a license. This license is linked to the card through its DNA, which is a unique identifier. Follow this procedure to obtain the license:
- Make sure the host you are using is turned off and unplugged.
- Plug the U50LV card into a PCIe slot of the PC.
- Connect the Alveo programming cable to the card.
- Connect the Alveo programming cable to a USB port of the PC.
- Plug and switch on the PC.
- Open a terminal and source the Vivado Lab environment:
source <vivado_install_path>/settings64.sh
- Run the below command to get the FPGA ID:
<zebra_path>/bin/vivado_get_fpga_id.sh
- Send the output of the above command to u50_licenses@mipsology.com to obtain the license. You can group multiple license requests in the same email by providing multiple DNA.
- Mipsology will return a file per board that can be copied in the Zebra software in the <zebra_path>/license directory.
Installing a U50LV card with Zebra:
Once you have received the card(s), they need to be enabled with Zebra firmware before the first use. This has to be done only once for each card. This section provides information on how to do that. Follow the step 1 to 6 from the above paragraph
- Program the Flash of the FPGA (this command will take around 1 hour and should not be interrupted):
<zebra_path>/bin/vivado_program_fpga.sh <zebra_path>/bitstream/<U50_BITSTREAM>.mcs
- On success, turn off the PC
- Disconnect the Alveo programming cable from the Alveo card
- Turn on the PC
Testing the U50LV card with Zebra installed:
Once you have installed Zebra for the first time on an Alveo U50LV, we advise to test the installation by running full diagnostics and examples provided with Zebra.
- source zebra environment
source <zebra_path>/settings.sh
- Compile and Install the Zebra kernel driver – not that this command requires root access
make -C $ZEBRA_INSTALL_DIR/driver install
- Run basic communication command between PC and FPGA, the below command should exit without error message (Note, the below commands don’t require a Zebra license)
zebra_tools –config zebra_tools –access zebra_tools –extMem
- Run the classification examples from the Zebra guide
Please, refer to the complete guide to trouble shoot any environment issue during the steps above.
Other resources:
Please refer to further Xilinx Alveo U50LV or Zebra documents for more information.
Mipsology SAS © 2020