Benchmark

Pictures

The data is used by benchmarks, our commonly used pictures are listed in table 1.

Table 1 Pictures for benchmark
Pictures Format Size
android.jpg 420 960*1280
offset.jpg 422 5184*3456
hq.jpg 444 5760*3840
iphone.jpg 420 3264*2448
lena_c_512.png 444 512*512

Performance

For representing the resource utilization in each benchmark, we separate the overall utilization into 2 parts, where P stands for the resource usage in platform, that is those instantiated in static region of the FPGA card, as well as K represents those used in kernels (dynamic region). The input is png, jpg, pik, e.g. format, and the target device is set to Alveo U200.

Table 2 Performance for processing pictures on FPGA
Architecture Picture Latency(ms) Timing LUT(P/K) BRAM(P/K) URAM(P/K) DSP(P/K)
JPEG Huffman Decoder android.jpg 0.889 270MHz 108.1K/7.9K 178/5 0/0 4/12
JPEG Decoder android.jpg 1.515 243MHz 108.1K/23.1K 178/28 0/0 4/39
PIK lena_c_512.png 16.0 300MHz 150.9K/439.4K 338/62 0/16 7/0

These are details for benchmark result and usage steps.

Test Overview

Here are benchmarks of the Vitis Codec Library using the Vitis environment and comparing with cpu().

Vitis Codec Library

  • Download code

These graph benchmarks can be downloaded from vitis libraries master branch.

git clone https://github.com/Xilinx/Vitis_Libraries.git
cd Vitis_Libraries
git checkout master
cd codec
  • Setup environment

Specifying the corresponding Vitis, XRT, and path to the platform repository by running following commands.

source <intstall_path>/installs/lin64/Vitis/2021.1/settings64.sh
source /opt/xilinx/xrt/setup.sh
export PLATFORM_REPO_PATHS=/opt/xilinx/platforms