isa-l/README.md
Ruben Vorderman 2049d8dc81 Add conda shield to readme
This will make it easier for users to get the latest version. Installing with conda is easier than compiling it yourself. Distro packages (such as Debian's) do not always ship the latest version while conda-forge can. This badge will advertise this install method.

Change-Id: I99a1853a00e55fdf0c574c9906675738ac278121
Signed-off-by: Ruben Vorderman <r.h.p.vorderman@lumc.nl>
2020-07-27 11:36:55 -07:00

73 lines
2.4 KiB
Markdown

Intel(R) Intelligent Storage Acceleration Library
=================================================
[![Build Status](https://travis-ci.org/intel/isa-l.svg?branch=master)](https://travis-ci.org/intel/isa-l)
[![Package on conda-forge](https://img.shields.io/conda/v/conda-forge/isa-l.svg)](https://anaconda.org/conda-forge/isa-l)
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.
* 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.
Also see:
* [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
[distros/ports](https://github.com/intel/isa-l/wiki/Ports--Repos) offering binary packages.
* ISA-L [mailing list](https://lists.01.org/hyperkitty/list/isal@lists.01.org/).
* [Contributing](CONTRIBUTING.md).
Building ISA-L
--------------
### Prerequisites
* Make: GNU 'make' or 'nmake' (Windows).
* Optional: Building with autotools requires autoconf/automake packages.
x86_64:
* Assembler: nasm v2.11.01 or later (nasm v2.13 or better suggested for building in AVX512 support)
or yasm version 1.2.0 or later.
* 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
### 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