2015-10-22 23:54:34 +02:00
|
|
|
Intel(R) Intelligent Storage Acceleration Library
|
|
|
|
=================================================
|
|
|
|
|
2019-05-02 03:22:23 +02:00
|
|
|
[![Build Status](https://travis-ci.org/intel/isa-l.svg?branch=master)](https://travis-ci.org/intel/isa-l)
|
2020-07-22 11:26:38 +02:00
|
|
|
[![Package on conda-forge](https://img.shields.io/conda/v/conda-forge/isa-l.svg)](https://anaconda.org/conda-forge/isa-l)
|
2016-03-01 08:40:13 +01:00
|
|
|
|
2016-07-22 00:01:09 +02:00
|
|
|
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).
|
2016-12-07 07:00:34 +01:00
|
|
|
* CRC - Fast implementations of cyclic redundancy check. Six different
|
2016-07-22 00:01:09 +02:00
|
|
|
polynomials supported.
|
2023-03-30 11:50:32 +02:00
|
|
|
- iscsi32, ieee32, t10dif, ecma64, iso64, jones64, rocksoft64.
|
2016-07-22 00:01:09 +02:00
|
|
|
* Raid - calculate and operate on XOR and P+Q parity found in common RAID
|
|
|
|
implementations.
|
|
|
|
* Compression - Fast deflate-compatible data compression.
|
2016-12-07 07:00:34 +01:00
|
|
|
* De-compression - Fast inflate-compatible data compression.
|
2021-08-20 11:47:24 +02:00
|
|
|
* igzip - A command line application like gzip, accelerated with ISA-L.
|
2016-12-07 07:00:34 +01:00
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
Also see:
|
2019-05-02 03:22:23 +02:00
|
|
|
* [ISA-L for updates](https://github.com/intel/isa-l).
|
|
|
|
* For crypto functions see [isa-l_crypto on github](https://github.com/intel/isa-l_crypto).
|
|
|
|
* The [github wiki](https://github.com/intel/isa-l/wiki) including a list of
|
2021-08-20 11:47:24 +02:00
|
|
|
[distros/ports](https://github.com/intel/isa-l/wiki/Ports--Repos) offering binary packages
|
|
|
|
as well as a list of [language bindings](https://github.com/intel/isa-l/wiki/Language-Bindings).
|
2017-02-24 04:45:31 +01:00
|
|
|
* [Contributing](CONTRIBUTING.md).
|
2022-07-19 04:38:52 +02:00
|
|
|
* [Security Policy](SECURITY.md).
|
2023-02-11 00:32:41 +01:00
|
|
|
* Docs on [units](doc/functions.md), [tests](doc/test.md), or [build details](doc/build.md).
|
2015-10-22 23:54:34 +02:00
|
|
|
|
|
|
|
Building ISA-L
|
2017-02-24 04:45:31 +01:00
|
|
|
--------------
|
|
|
|
|
|
|
|
### Prerequisites
|
2015-10-22 23:54:34 +02:00
|
|
|
|
2019-11-01 23:01:44 +01:00
|
|
|
* Make: GNU 'make' or 'nmake' (Windows).
|
|
|
|
* Optional: Building with autotools requires autoconf/automake packages.
|
2021-11-18 02:21:25 +01:00
|
|
|
* Optional: Manual generation requires help2man package.
|
2019-11-01 23:01:44 +01:00
|
|
|
|
|
|
|
x86_64:
|
2021-05-28 02:44:31 +02:00
|
|
|
* Assembler: nasm. Version 2.15 or later suggested (other versions of nasm and
|
2023-02-11 00:32:41 +01:00
|
|
|
yasm may build but with limited function [support](doc/build.md)).
|
2017-09-20 20:25:37 +02:00
|
|
|
* Compiler: gcc, clang, icc or VC compiler.
|
2019-11-01 23:01:44 +01:00
|
|
|
|
|
|
|
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.
|
2015-10-22 23:54:34 +02:00
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
### Autotools
|
|
|
|
To build and install the library with autotools it is usually sufficient to run:
|
2016-02-26 00:56:22 +01:00
|
|
|
|
2016-03-01 08:40:26 +01:00
|
|
|
./autogen.sh
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
sudo make install
|
2015-10-22 23:54:34 +02:00
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
### Makefile
|
|
|
|
To use a standard makefile run:
|
2016-02-26 00:56:22 +01:00
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
make -f Makefile.unx
|
2016-02-26 00:56:22 +01:00
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
### Windows
|
2016-03-01 08:40:26 +01:00
|
|
|
On Windows use nmake to build dll and static lib:
|
2016-02-26 00:56:22 +01:00
|
|
|
|
2016-03-01 08:40:26 +01:00
|
|
|
nmake -f Makefile.nmake
|
2016-02-26 00:56:22 +01:00
|
|
|
|
2020-10-30 20:38:13 +01:00
|
|
|
or see [details on setting up environment here](doc/build.md).
|
|
|
|
|
2017-02-24 04:45:31 +01:00
|
|
|
### Other make targets
|
2017-03-31 03:35:15 +02:00
|
|
|
Other targets include:
|
2017-02-24 04:45:31 +01:00
|
|
|
* `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
|
2017-09-20 20:25:37 +02:00
|
|
|
* `make doc` : build API manual
|