rc4¶
To profile performance of rc4, we prepare a datapack of 24 messages, each message is 2Mbyte. We have 4 kernels, each kernel has 12 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/rc4
- 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/rc4Kernel.xclbin -data PROJECT/data/test.dat -num 16
Input Arguments:
Usage: host.exe -[-xclbin] -xclbin binary;
- Example output(Step 4)
Found Platform Platform Name: Xilinx Selected Device xilinx_u250_xdma_201830_2 INFO: Importing build_dir.sw_emu.xilinx_u250_xdma_201830_2/rc4EncryptKernel.xclbin Loading: 'build_dir.sw_emu.xilinx_u250_xdma_201830_2/rc4EncryptKernel.xclbin' Kernel has been created. DDR buffers have been mapped/copy-and-mapped Kernel has been run for 2 times. Execution time 475471us
Profiling¶
The rc4 is validated on Xilinx Alveo U250 board. Its resource, frequency and throughput is shown as below.
Frequency | LUT | REG | BRAM | URAM | DSP | Throughput |
147MHz | 1,126,259 | 1,120,505 | 640 | 0 | 216 | 3.0GB/s |