Intel QPL v1.4.0
Functionality
Enabled the canned mode compression with the dictionary for hardware_path supported on IAA 2.0. Note that canned mode decompression with a dictionary on hardware_path is not supported, and software_path can be used as an alternative.
Usability and Documentation
- Added example for canned compression with a dictionary.
- Clarified the documentation about output modification for the expand operation.
- Extended functionality testing for the cases when the IAA Block on Fault feature is set to OFF.
Bug Fixes
- Fixed issue in high-level fixed mode compression on
software_path. Previously, the job may be completed withQPL_STS_OKwhen only partial source data is processed. - Fixed issue in high-level dictionary mode compression. Previously, loss of data would occur during the end of compression.
- Fixed block header decompression for indexing mode on asynchronous path.
- Fixed performance regression that could appear on IAA 2.0 due to changes for the OPCFG feature.
- Fixed build options incorrectly propagated when building with Clang and resolved resulting warnings.
- Resolved undefined references to
crc16_*functions. - Fixed accelerator NUMA node setting via the
--nodeparameter for Benchmarks framework. Previously, Benchmarks initialization and validation steps were mapped to the NUMA node of the calling process always, which could potentially result in theQPL_STS_INIT_WORK_QUEUES_NOT_AVAILABLEerror. - Fixed Huffman Only verification on
software_pathwhen the source size is greater than 4KB. - Removed temporary buffer used on Huffman Only decompression code path for BE16 that could lead to potential seg. fault.
- Fixed the error code for invalid distance symbol in
software_pathdecompression. - Fixed generation of AECS Format-2 in tests that caused failure of ta_c_api_inflate_huffman_only.generated_data on
hardware_path. - Updated initialization of Huffman table from another to fix failures in ll_huffman.compress_sw_decompress_hw_{high/default}_level.
- Fixed issues flagged by the static code analysis tool.
Known Limitations
- Intel QPL could be built from directly downloadable files (
.tar,.tgz) without tests and benchmark frameworks, using the-DQPL_BUILD_TESTS=OFFbuild option. Since they require submodules that are not included in the archives by GitHub* during release creation. - During accelerator initialization on
hardware_pathand IAA 2.0, there is a small memory leak that would be resolved in one of the future releases. - Known test failures are listed below. Some tests only fail under certain conditions, which are noted in parentheses
- Functional tests:
- (
software_path) ta_c_api_deflate_stateful.{dynamic/fixed/static}_{high/default}_verify - (
hardware_path) ta_c_api_deflate_canned_indexing.default_level - (
hardware_pathon IAA 2.0) ta_c_api_deflate_index_extended.PerformOperation - (
hardware_path) tn_c_api_expand.tn_rle_input_error_handling
- (
- Functional tests:
- Compression verification on the software path works only with indexing mode and data of size smaller than 32KB in other modes.
- Inflate does not report the error code
QPL_STS_BIG_HEADER_ERRwhen a header is too big to fit in the input buffer. - Dynamic Deflate on IAA 2.0 may show performance regression in throughput benchmarks using the asynchronous path.
- The implementation of
QPL_FLAG_CRC32Cis in progress.