5. AOCL-Compression - 5.2 English - 57404

AOCL User Guide (57404)

Document ID
57404
Release Date
2025-12-29
Version
5.2 English

AOCL-Compression is a software framework of various lossless data compression and decompression methods tuned and optimized for AMD “Zen”-based CPUs. This library suite supports the following:

  • Linux and Windows platforms.

  • lz4, zlib/deflate, lzma, zstd, bzip2, snappy, and lz4hc optimized compression and decompression methods.

  • A unified standardized API set and the existing native APIs of the respective methods.

  • OpenMP based multi-threaded implementation for all the methods (for LZMA, only multi-threaded compression is supported).

  • Dynamic dispatcher feature that executes the most optimal function variant implemented using Function Multi-versioning and hence, offering a single optimized library portable across different x86 CPU architectures.

  • Instruction set dispatch, running non-optimized code, and log level selection using environment variables at runtime:

    • Instruction Set Dispatch (SSE2, AVX, AVX2, and AVX512).

    • Enabling of logging and selection of log level.

  • Non-optimized (reference) code execution as supported by user environment option.

  • A test suite for validation and performance benchmarking of the supported compression and decompression methods. The test suite also supports the benchmarking of IPP compression methods, such as lz4, lz4hc, bzip2, and zlib on Linux-based platforms.

  • The library build framework offers CTest based testing of the test cases that are implemented using GTest and the library test suite. Also, it supports the testing of the compression methods through their native APIs directly, offers memory checks using Valgrind, ASAN, and source code coverage using GCOV.

  • A Python-based performance benchmarking automation script.

  • Doxygen and Sphinx based documentation covering library’s API level details.

  • Custom build options to exclude the unnecessary compression methods from the library build for achieving a lower code footprint.

AOCL-Compression API Guide documentation is available at https://docs.amd.com/go/en-US/63861-AOCL-compression/