aes256CbcDecrypt

To profile performance of aes256CbcDecrypt, we prepare a datapack of 32K messages, each message is 1Kbyte. We have 1 kernels, each kernel has 4 PUs. Kernel utilization and throughput is shown in table below.

Executable Usage

  • Work Directory(Step 1)

The steps for library download and environment setup can be found in Vitis Security Library. For getting the design,

cd L1/benchmarks/aes256CbcDecrypt
  • Build kernel(Step 2)

Run the following make command to build your XCLBIN and host binary targeting a specific device. Please be noticed that this process will take a long time, maybe couple of hours.

source /opt/xilinx/Vitis/2021.1/settings64.sh
source /opt/xilinx/xrt/setenv.sh
export DEVICE=u50_gen3x16
export TARGET=hw
make run
  • Run kernel(Step 3)

To get the benchmark results, please run the following command.

./BUILD_DIR/host.exe -xclbin ./BUILD_DIR/aes256CbcDecryptKernel.xclbin

Input Arguments:

Usage: host.exe -[-xclbin]
       -xclbin     binary;
  • Example output(Step 4)
Found Platform
Platform Name: Xilinx
Selected Device xilinx_u250_gen3x16_xdma_3_1_202020_1
INFO: Importing build_dir.sw_emu.xilinx_u250_gen3x16_xdma_3_1_202020_1/aes256CbcDecryptKernel.xclbin
Loading: 'build_dir.sw_emu.xilinx_u250_gen3x16_xdma_3_1_202020_1/aes256CbcDecryptKernel.xclbin'
Kernel has been created.
allocate to DDR
DDR buffers have been mapped/copy-and-mapped
4 channels, 2 tasks, 64 messages verified. No error found!
Kernel has been run for 2 times.
Total execution time 1413103us

Profiling

The aes256CbcDecrypt is validated on Xilinx Alveo U250 board. Its resource, frequency and throughput is shown as below.

Frequency LUT REG BRAM URAM DSP Throughput
286MHz 203,595 312,900 761 0 29 4.7GB/s