Skip to content

Releases: intel/isa-l

v2.32

05 Mar 18:30

Choose a tag to compare

Full Changelog: v2.31.1...v2.32.0

General:

  • Added CMake build system (only verified for x86_64).
  • Minimum NASM version required for x86 architecture is 2.14.01 now.
  • 32-bit x86 support has been removed.

RISCV support.

  • Initial riscv64 support with runtime and build-time CPU feature detection.

Igzip compression improvements:

  • Added new RVV adler32 implementations.
  • Added optimized RVV adler32 for VLEN=128.

Igzip:

  • Added experimental ISA-L shim library to provide drop-in compatibility with zlib.

RAID improvements:

  • Added new x86 AVX2+GFNI and AVX512+GFNI pq_gen implementations.
  • Added new RVV xor_gen, pq_gen implementations.

Erasure coding improvements:

  • Added new RVV ec_encode_data,ec_encode_data_update,gf_vect_mad, gf_vect_dot_prod, gf_vect_mul implementations.
  • Added new AVX2+GFNI implementation for gf_vect_mul.
  • Added new gf_vect_mul_init_base, to be used with any erasure coding base functions, such as gf_vect_mul_base.
  • Enabled GFNI implementations for gf_vect_mad.
  • gf_vect_mul_init is now a multi-binary function, backed by different implementations depending on the ISA available.

Zero-memory detection improvements:

  • Added new RVV implementations.

CRC improvements:

  • Added new AVX2+VCLMUL implementations for CRC64, CRC32 and CRC16 variants.
  • CRC32 ISCSI AVX512+VCLMUL optimized for small buffers.
  • CRC64 Rocksoft implementation on aarch64 optimized similar to other CRC64
    implementations.
  • Added new RVV CRC64/32/16 implementations.

Performance applications:

  • Add consolidated CRC performance application.
  • Add consolidated RAID performance application.

Test applications:

  • Add fuzz test applications for CRC, RAID and Erasure Coding.

v2.32-rc1

04 Mar 14:49

Choose a tag to compare

v2.32-rc1 Pre-release
Pre-release
Bump version to v2.32

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>

v2.31.1

08 Jan 23:36

Choose a tag to compare

Full Changelog: v2.31.0...v2.31.1

Resolved Issues

  • Fixed return type for PowerPC _gf_vect_mul_base function.
  • Fixed isal_deflate_icf_finish_lvl1 dispatcher for aarch64.
  • Fixed CRC compilation on aarch64.
  • Fixed MacOS-14 compilation.
  • Fixed MinGW build.
  • Fixed Clang compilation on igzip library on aarch64.
  • Fixed spelling mistakes and typos.
  • Fixed Windows build on erasure code performance applications.
  • Fixed FreeBSD build warnings.
  • Fixed compilation with YASM.

v2.31

18 Jan 18:49

Choose a tag to compare

Full Changelog: v2.30.0...v2.31.0

API changes:

  • gf_vect_mul_base() function now returns an integer, matching the return type
    of gf_vect_mul() function (not a breaking change).

Igzip compression improvements:

  • Added compress/decompress with dictionary to perf test app.
  • Zlib header can be now created on the fly when starting the compression.
  • Added isal_zlib_hdr_init() function to initialize the zlib header to 0.

Zero-memory dectection improvements:

  • Optimized AVX implementation.
  • Added new AVX2 and AVX512 implementations.

Erasure coding improvements:

  • Added new AVX512 and AVX2 implementations using GFNI instructions.
  • Added new SVE implementation.

CRC improvements:

  • Added new CRC64 Rocksoft algorithm.
  • CRC x86 implementations optimized using ternary logic instructions and
    folding of bigger data on the last bytes.
  • CRC16 T10dif aarch64 implementation improved.
  • CRC aarch64 implementations optimized using XOR fusion feature.

Documentation:

  • Added function overview documentation page.
  • Added security file.

Performance apps:

  • Changed performance tests to warm by default.

Example apps:

  • Added CRC combine example crc_combine_example for multiple polynomials.

Resolved Issues

  • Fixed various compilation issues/warnings for different platforms.
  • Fixed documentation on xor/pq gen/check functions, with minimum
    number of vectors.
  • Fixed potential out-of-bounds read on Adler32 Neon implementation.
  • Fixed potential out-of-bounds read on gf_vect_mul Neon implementation.
  • Fixed x86 load/store instructions in erasure coding functions (aligned moves
    that should be unaligned).
  • Fixed memory leaks in unit tests.