Go to file
Marcel Cornu bc34d87427 erasure_code: update GF_MUL_XOR macro to support VEX encoding
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com>
2023-12-01 14:20:56 +00:00
.github/workflows build: Add top-level read-only permissions to ci actions 2022-10-28 17:05:01 -07:00
crc crc: fix build with NASM 2.14 2023-11-15 13:42:00 +00:00
doc doc: Add notes on reentrancy and threading 2023-07-19 13:11:43 -07:00
erasure_code erasure_code: update GF_MUL_XOR macro to support VEX encoding 2023-12-01 14:20:56 +00:00
examples ex: Add crc combine example for multiple polynomials 2023-02-10 15:41:35 -07:00
igzip igzip: fix build warning 2023-11-15 13:46:52 +00:00
include lib: add new interface supporting AVX2 with GFNI 2023-12-01 14:20:56 +00:00
mem Fixes for aarch64 mac 2022-10-28 08:27:26 -07:00
programs build: Bump revision to 2.30 2020-11-06 18:08:16 -07:00
raid Fixes for aarch64 mac 2022-10-28 08:27:26 -07:00
tests/fuzz Fix s390 build 2022-01-04 11:06:17 -07:00
tools ci: build with EC_ALIGNED_ADDR and NO_NT_LDST 2023-11-23 10:56:28 +00:00
.gitignore build: Add gitignore 2019-05-01 16:48:10 -07:00
.travis.yml build: Change travis osx to use std brew 2021-05-21 19:44:39 -07:00
autogen.sh Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
configure.ac Properly add .note.gnu.property section to assembly codes 2022-01-20 12:23:30 -07:00
CONTRIBUTING.md doc: Update mailing list link 2019-10-16 17:13:54 -07:00
Doxyfile doc: Add security policy file 2022-07-18 19:53:53 -07:00
isa-l.def erasure_code: expose base implementation of init_tables 2023-11-23 10:56:28 +00:00
isa-l.rc build: Add ms rc file to put extra metatdata on dll 2021-09-02 18:27:51 -07:00
libisal.pc.in Initial commit isa-l v2.14.1 2016-02-24 14:54:34 -07:00
LICENSE build: Bump revision to 2.19 2017-06-26 04:47:40 -04:00
make.inc build: Change include shortcut D to not conflict with env 2021-09-14 19:18:31 -07:00
Makefile.am Properly add .note.gnu.property section to assembly codes 2022-01-20 12:23:30 -07:00
Makefile.nmake erasure_code: implement EC update with AVX512 + GFNI 2023-11-23 10:56:28 +00:00
Makefile.unx build: Add auto regenerate of nmake file 2020-03-10 14:00:05 -07:00
README.md Update README.md 2023-07-06 09:41:56 +01:00
Release_notes.txt Update release notes for v2.30 additions 2020-11-04 14:59:33 -07:00
SECURITY.md doc: Add security policy file 2022-07-18 19:53:53 -07:00

Intel(R) Intelligent Storage Acceleration Library

Build Status Package on conda-forge

ISA-L is a collection of optimized low-level functions targeting storage applications. ISA-L includes:

  • Erasure codes - Fast block Reed-Solomon type erasure codes for any encode/decode matrix in GF(2^8).
  • CRC - Fast implementations of cyclic redundancy check. Six different polynomials supported.
    • iscsi32, ieee32, t10dif, ecma64, iso64, jones64, rocksoft64.
  • Raid - calculate and operate on XOR and P+Q parity found in common RAID implementations.
  • Compression - Fast deflate-compatible data compression.
  • De-compression - Fast inflate-compatible data compression.
  • igzip - A command line application like gzip, accelerated with ISA-L.

Also see:

Building ISA-L

Prerequisites

  • Make: GNU 'make' or 'nmake' (Windows).
  • Optional: Building with autotools requires autoconf/automake/libtool packages.
  • Optional: Manual generation requires help2man package.

x86_64:

  • Assembler: nasm. Version 2.15 or later suggested (other versions of nasm and yasm may build but with limited function support).
  • Compiler: gcc, clang, icc or VC compiler.

aarch64:

  • Assembler: gas v2.24 or later.
  • Compiler: gcc v4.7 or later.

other:

  • Compiler: Portable base functions are available that build with most C compilers.

Autotools

To build and install the library with autotools it is usually sufficient to run:

./autogen.sh
./configure
make
sudo make install

Makefile

To use a standard makefile run:

make -f Makefile.unx

Windows

On Windows use nmake to build dll and static lib:

nmake -f Makefile.nmake

or see details on setting up environment here.

Other make targets

Other targets include:

  • make check : create and run tests
  • make tests : create additional unit tests
  • make perfs : create included performance tests
  • make ex : build examples
  • make other : build other utilities such as compression file tests
  • make doc : build API manual