1Intel(R) Intelligent Storage Acceleration Library 2================================================= 3 4[![Build Status](https://travis-ci.org/intel/isa-l.svg?branch=master)](https://travis-ci.org/intel/isa-l) 5[![Package on conda-forge](https://img.shields.io/conda/v/conda-forge/isa-l.svg)](https://anaconda.org/conda-forge/isa-l) 6 7ISA-L is a collection of optimized low-level functions targeting storage 8applications. ISA-L includes: 9* Erasure codes - Fast block Reed-Solomon type erasure codes for any 10 encode/decode matrix in GF(2^8). 11* CRC - Fast implementations of cyclic redundancy check. Six different 12 polynomials supported. 13 - iscsi32, ieee32, t10dif, ecma64, iso64, jones64. 14* Raid - calculate and operate on XOR and P+Q parity found in common RAID 15 implementations. 16* Compression - Fast deflate-compatible data compression. 17* De-compression - Fast inflate-compatible data compression. 18 19Also see: 20* [ISA-L for updates](https://github.com/intel/isa-l). 21* For crypto functions see [isa-l_crypto on github](https://github.com/intel/isa-l_crypto). 22* The [github wiki](https://github.com/intel/isa-l/wiki) including a list of 23 [distros/ports](https://github.com/intel/isa-l/wiki/Ports--Repos) offering binary packages. 24* ISA-L [mailing list](https://lists.01.org/hyperkitty/list/isal@lists.01.org/). 25* [Contributing](CONTRIBUTING.md). 26 27Building ISA-L 28-------------- 29 30### Prerequisites 31 32* Make: GNU 'make' or 'nmake' (Windows). 33* Optional: Building with autotools requires autoconf/automake packages. 34 35x86_64: 36* Assembler: nasm v2.11.01 or later (nasm v2.13 or better suggested for building in AVX512 support) 37 or yasm version 1.2.0 or later. 38* Compiler: gcc, clang, icc or VC compiler. 39 40aarch64: 41* Assembler: gas v2.24 or later. 42* Compiler: gcc v4.7 or later. 43 44other: 45* Compiler: Portable base functions are available that build with most C compilers. 46 47### Autotools 48To build and install the library with autotools it is usually sufficient to run: 49 50 ./autogen.sh 51 ./configure 52 make 53 sudo make install 54 55### Makefile 56To use a standard makefile run: 57 58 make -f Makefile.unx 59 60### Windows 61On Windows use nmake to build dll and static lib: 62 63 nmake -f Makefile.nmake 64 65or see [details on setting up environment here](doc/build.md). 66 67### Other make targets 68Other targets include: 69* `make check` : create and run tests 70* `make tests` : create additional unit tests 71* `make perfs` : create included performance tests 72* `make ex` : build examples 73* `make other` : build other utilities such as compression file tests 74* `make doc` : build API manual 75