Skip to content

Intel QPL v1.4.0

Choose a tag to compare

@mzhukova mzhukova released this 31 Jan 22:12
d4715e0

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 with QPL_STS_OK when 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 --node parameter 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 the QPL_STS_INIT_WORK_QUEUES_NOT_AVAILABLE error.
  • Fixed Huffman Only verification on software_path when 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_path decompression.
  • 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=OFF build option. Since they require submodules that are not included in the archives by GitHub* during release creation.
  • During accelerator initialization on hardware_path and 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
  • 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_ERR when 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_CRC32C is in progress.