150. CompressDev QAT PMD Tests

150.1. Description

The QAT compression PMD provides poll mode compression & decompression driver support for the following hardware accelerator devices:

Intel QuickAssist Technology C62x

Intel QuickAssist Technology C3xxx

Intel QuickAssist Technology DH895x

The supported Compression/Decompression algorithm:

DEFLATE - using Fixed and Dynamic Huffman encoding

For more details, please reference to dpdk online programming guide.

150.2. Prerequisites

Intel QAT devices should be available in the platform.

enable compressdev unit test:

Set CONFIG_RTE_COMPRESSDEV_TEST=y in config/common_base.

A compress performance test app is added into DPDK to test CompressDev.

Calgary corpus is a collection of text and binary data files,commonly used for comparing data compression algorithms.

150.3. Test Case: Compressdev QAT PMD Unit test

Start test application and run qat pmd unit test:

./app/test -l1 -n1 -w qat_device_bus_id --log-level=qat:8
RTE>>compressdev_autotest

Verify all test cases passed in the test.

150.4. Test Case: Compressdev QAT PMD fixed function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --huffman-enc fixed

Perform the test with fixed huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.5. Test Case: Compressdev QAT PMD dynamic function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --huffman-enc dynamic

Perform the test with dynamic huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.6. Test Case: Compressdev QAT PMD big sgl fixed function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name --seg-sz segsize \
--compress-level level --num-iter number --extended-input-sz size \
--max-num-sgl-segs seg --huffman-enc fixed

Perform the test with big max-num-sgl-segs and fixed huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.7. Test Case: Compressdev QAT PMD big sgl dynamic function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name --seg-sz segsize \
--compress-level level --num-iter number --extended-input-sz size \
--max-num-sgl-segs seg --huffman-enc dynamic

Perform the test with big max-num-sgl-segs and dynamic huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.8. Test Case: Compressdev QAT PMD big seg-sz fixed function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name --seg-sz segsize \
--compress-level level --num-iter number --extended-input-sz size \
--max-num-sgl-segs seg --huffman-enc fixed

Perform the test with big seg-sz and fixed huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.9. Test Case: Compressdev QAT PMD big seg-sz dynamic function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name --seg-sz segsize \
--compress-level level --num-iter number --extended-input-sz size \
--max-num-sgl-segs seg --huffman-enc dynamic

Perform the test with big seg-sz and dynamic huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.10. Test Case: Compressdev QAT PMD external mbufs fixed function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --external-mbufs \
--huffman-enc fixed

Perform the test with external-mbufs option and fixed huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.11. Test Case: Compressdev QAT PMD external mbufs dynamic function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --external-mbufs \
--huffman-enc dynamic

Perform the test with external-mbufs option and dynamic huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.12. Test Case: Compressdev QAT PMD im buffer split op fixed function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --seg-sz segsize \
--max-num-sgl-segs seg --extended-input-sz size \
--huffman-enc fixed

Perform the test with extended-input-sz, max-num-sgl-segs option and fixed huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.13. Test Case: Compressdev QAT PMD im buffer split op dynamic function test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --seg-sz segsize \
--max-num-sgl-segs seg --extended-input-sz size \
--huffman-enc dynamic

Perform the test with extended-input-sz, max-num-sgl-segs option and dynamic huffman-enc.

Test all the file types in calgary corpus, all files should pass the test.

150.14. Test Case: Compressdev QAT PMD fixed performance test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --huffman-enc fixed

Perform the test with fixed huffman-enc and calgary file.

Run the test with seg-sz 1k, 2k, 4k, 8k, 16k and 32k respectively.

150.15. Test Case: Compressdev QAT PMD dynamic performance test

Run Compressdev qat pmd test with below sample commands:

./app/dpdk-test-compress-perf  -w qat_device_bus_id -l 4 \
-- --driver-name compress_qat --input-file file_name \
--compress-level level --num-iter number --huffman-enc dynamic

Perform the test with dynamic huffman-enc and calgary file.

Run the test with seg-sz 1k, 2k, 4k, 8k, 16k and 32k respectively.