LZ4 Application¶
LZ4 data compression application falls under Limpel Ziev based byte compression scheme. It is widely known for achieving decompression throughput >GB/s on high end single core high end CPU.
This demo presents usage of FPGA accelerated LZ4 compression & decompression which achieves throughput >GB/s and this application is scalable.
Executable Usage¶
This application is present in L3/demos/lz4_app
directory. Follow build instructions to generate executable and binary.
The binary host file generated is named as “xil_lz4” and it is present in ./build
directory.
To execute single file for compression :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/<compress_decompress.xclbin> -c <file_name>
To execute single file for decompression :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/<compress_decompress.xclbin> -d <file_name.lz4>
To validate single file (compress & decompress) :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/compress_decompress.xclbin -t <input file_name>
To execute multiple files for compression :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/compress_decompress.xclbin -cfl <files.list>
To execute multiple files for decompression :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/compress_decompress.xclbin -dfl <compressed files.list>
To validate multiple files files (compress & decompress) :
./build/xil_lz4 -xbin ./build/xclbin_<xsa_name>_<TARGET mode>/<compress_decompress.xclbin> -l <files.list>
<files.list>
: Contains various file names with current path
The usage of the generated executable is as follows:
Usage: application.exe -[-h-c-l-d-B-x] --help, -h Print Help Options --compress, -c Compress --decompress, -d Decompress --test, -t Xilinx compress & Decompress --compress_list, -cfl Compress List of Input Files --decompress_list, -dfl Decompress List of compressed Input Files --test_list, -l Xilinx Compress & Decompress on Input Files --max_cr, -mcr Maximum CR Default: [10] --xclbin, -xbin XCLBIN --device_id, -id Device ID Default: [0] --block_size, -B Compress Block Size [0-64: 1-256: 2-1024: 3-4096] Default: [0]