1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
==============
Installation
==============
Pre-built packages
------------------
Pre-built binaries of `hdf5plugin` are available from:
- `pypi <https://pypi.org/project/hdf5plugin>`_, to install run:
``pip install hdf5plugin [--user]``
- `conda-forge <https://anaconda.org/conda-forge/hdf5plugin>`_, to install run:
``conda install -c conda-forge hdf5plugin``
To maximize compatibility, those binaries are built without optimization options (such as `AVX2`_ and `OpenMP`_).
`Installation from source`_ can achieve better performances than pre-built binaries.
Installation from source
------------------------
The build process enables compilation optimizations that are supported by the host machine.
To install from source and recompile the HDF5 plugins, run::
pip install hdf5plugin --no-binary hdf5plugin [--user]
To override the defaults that are probed from the machine,
it is possible to specify build options by setting environment variables, for example:
- ``HDF5PLUGIN_OPENMP=False pip install hdf5plugin --no-binary hdf5plugin``
- From the source directory: ``HDF5PLUGIN_OPENMP=False pip install .``
Available options
.................
.. list-table::
:widths: 1 4
:header-rows: 1
* - Environment variable
- Description
* - ``HDF5PLUGIN_HDF5_DIR``
- Custom path to HDF5 (as in h5py).
It must contain a "include" subfolder and on Windows a "lib" subfolder with hdf5.lib.
* - ``HDF5PLUGIN_OPENMP``
- Whether or not to compile with `OpenMP`_.
Default: True if probed (always False on macOS).
* - ``HDF5PLUGIN_NATIVE``
- True to compile specifically for the host, False for generic support (For unix compilers only).
Default: True on supported architectures, False otherwise
* - ``HDF5PLUGIN_SSE2``
- Whether or not to compile with `SSE2`_ support.
Default: True on ppc64le and when probed on x86, False otherwise
* - ``HDF5PLUGIN_SSSE3``
- Whether or not to compile with `SSSE3`_ support.
Default: True when probed on x86, False otherwise
* - ``HDF5PLUGIN_AVX2``
- Whether or not to compile with `AVX2`_ support.
It requires enabling `SSE2`_ support.
Default: True on x86 when probed, False otherwise
* - ``HDF5PLUGIN_AVX512``
- Whether or not to compile with `AVX512`_ Foundation (F) and Byte and Word (BW) instruction sets support.
It requires enabling `SSE2`_ and `AVX2`_ support.
Default: True on x86 when probed, False otherwise
* - ``HDF5PLUGIN_BMI2``
- Whether or not to compile Zstandard with `BMI2`_ support if available.
Default: True on Linux and MacOS, False otherwise
* - ``HDF5PLUGIN_CPP11``
- Whether or not to compile C++11 code if available.
Default: True if probed.
* - ``HDF5PLUGIN_CPP14``
- Whether or not to compile C++14 code if available.
Default: True if probed.
* - ``HDF5PLUGIN_CPP20``
- Whether or not to compile C++20 code if available.
Default: True if probed.
* - ``HDF5PLUGIN_INTEL_IPP_DIR``
- Experimental feature: Path to Intel `IPP`_ root directory.
If provided, the LZ4 compression library and Blosc2 are set to use Intel `IPP`_.
Default: Do not use INTEL `IPP`_ libraries.
Note: Boolean options are passed as ``True`` or ``False``.
.. _AVX2: https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2
.. _AVX512: https://en.wikipedia.org/wiki/AVX-512
.. _BMI2: https://en.wikipedia.org/wiki/X86_Bit_manipulation_instruction_set
.. _IPP: https://en.wikipedia.org/wiki/Integrated_Performance_Primitives
.. _SSE2: https://en.wikipedia.org/wiki/SSE2
.. _SSSE3: https://en.wikipedia.org/wiki/SSSE3
.. _OpenMP: https://www.openmp.org/
|