mirror of
https://github.com/intel/isa-l.git
synced 2024-12-12 09:23:50 +01:00
a53a20ea2a
Signed-off-by: Marcel Cornu <marcel.d.cornu@intel.com> |
||
---|---|---|
.github/workflows | ||
crc | ||
doc | ||
erasure_code | ||
examples | ||
igzip | ||
include | ||
mem | ||
programs | ||
raid | ||
tests/fuzz | ||
tools | ||
.gitignore | ||
.travis.yml | ||
autogen.sh | ||
configure.ac | ||
CONTRIBUTING.md | ||
Doxyfile | ||
isa-l.def | ||
isa-l.rc | ||
libisal.pc.in | ||
LICENSE | ||
make.inc | ||
Makefile.am | ||
Makefile.nmake | ||
Makefile.unx | ||
README.md | ||
Release_notes.txt | ||
SECURITY.md |
Intel(R) Intelligent Storage Acceleration Library
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:
- ISA-L for updates.
- For crypto functions see isa-l_crypto on github.
- The github wiki including a list of distros/ports offering binary packages as well as a list of language bindings.
- Contributing.
- Security Policy.
- Docs on units, tests, or build details.
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 testsmake tests
: create additional unit testsmake perfs
: create included performance testsmake ex
: build examplesmake other
: build other utilities such as compression file testsmake doc
: build API manual