Skip to content

Intel® QPL v1.9.0

Latest

Choose a tag to compare

@itopinsk itopinsk released this 10 Dec 16:18
1813cce

Usability and Documentation

  • CMake build defaults were updated to make build easier and more standard for users – “Release” is set now as the default build type, test programs were removed from install target path.
  • Redeveloped and improved setting C/C++ standards in the build system (C17/C++17 by default).
  • QPL_TREAT_WARNINGS_AS_ERRORS option added and enabled by default.
  • Moved QPL_VERSION macro to CMake-generated header with version component macros.
  • Added dataset directory existence checks with improved diagnostics.

Bug Fixes

  • Added dataset directory existence checks with improved diagnostics.
  • Fixed expand/extract/select fuzz tests with input validation to prevent invalid memory access.
  • Increased compression buffer size in inflate_stop_conditions test for edge case handling.
  • Added missing huffman table destroy in deflate_nodict_fuzz_test to fix memory leak.
  • Updated mix_paths_comp_decomp_w_dict_example: fixed exit code for unsupported hardware (52 → 0) in; replaced manual free() with unique_ptr smart pointers; changed functions to return qpl_status for better error propagation.

Known Limitations

  • Intel(R) QPL could be built from directly downloadable files (.tar, .tgz) without tests and benchmark frameworks, using the -DQPL_BUILD_TESTS=OFF build option. This is because it requires submodules that are not included in the archives by GitHub* during release creation.

  • Known test failures are listed below. Some tests fail only under certain conditions, which are noted in parentheses.

    • Functional tests:
      • (software_path, auto_path only on platforms without IAA) ta_c_api_deflate_stateful.{dynamic/fixed/static}_default_verify
      • (software_path, auto_path) ta_c_api_deflate_stateful.{dynamic/fixed/static}_high_verify
  • Compression verification on the qpl_path_software 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.

  • The implementation of QPL_FLAG_CRC32C is in progress.

  • When using qpl_path_hardware, the compression and decompression with indexing mode on IAA 2.0 are limited to data sizes smaller than 4KB.

  • The Force Array Output Modification feature is enabled only for qpl_path_hardware and Intel IAA 2.0 (and later). In the case of qpl_path_auto, an error code QPL_STS_NOT_SUPPORTED is returned as no fallback is available currently.

Thanks to the Contributors

The release includes contributions from the project team.