Installing the Intel® Distribution for Python* and Intel® Performance Libraries with pip and PyPI

The Intel® Distribution for Python* provides accelerated performance to some of the most popular packages in the Python ecosystem, and now select packages have the added the option of installing from the Python Package Index (PyPI) using pip. The packages require the use of pip version 9.0.1, and are available utilizing the following instructions:

Performance Packages

The two most popular packages in numerical and scientific work (numpy and scipy) are available with the following commands below.  For more information on the nature of their accelerations and performance benchmarks, please visit the link here.

Also, Intel-optimized-scikit-learn, daal4py (Intel® DAAL in Python) and tbb4py (Intel® TBB for Python) are also available on PyPI now.

Package Namepip commandPlatform Availability
numpypip install intel-numpyLinux, Win, macOS(10.12)
scipypip install intel-scipy
scikit-learnpip install intel-scikit-learn
daal4ypip install daal4py
tbb4pypip install tbb4py

Optimized Python packages such as intel-scikit-learn, intel-scipy and pydaal utilize intel-numpy.

Based on PyPI's dependency resolution on Intel variants, If one installs intel-numpy, one would also get mkl_fft and mkl_random (with NumPy). Similarly, if one installs intel-scipy, one would also get intel-numpy along with SciPy. And,  if one installs intel-scikit-learn, one would also get intel-numpy,intel-scipy along with Scikit-Learn.

Note: If standard NumPy, SciPy and Scikit-Learn packages are already installed, the packages must be uninstalled  before installing the Intel® variants of these packages(intel-numpy etc) to avoid any conflicts. As mentioned earlier, pydaal uses intel-numpy, hence it is important to first remove the standard Numpy library(if installed) and then install pydaal.

To uninstall existing packages, run the command:

pip uninstall numpy scipy scikit-learn -y  

Specialized NumPy packages

Several specialized Intel packages act as a complement to numpy and scipy, which provide accelerated Fast Fourier Transforms and improved Random functionality through the MKL when paired with numpy and scipy.

Package Namepip commandPlatform Availability
mkl_fftpip install mkl_fftLinux, Win, macOS(10.12)
mkl_randompip install mkl_random

Note: In order to utilize these packages, the standard NumPy installation must be removed first using the command: pip uninstall numpy -y

 

Intel® Runtime Packages

The runtime packages are built runtime distributable libraries that allow for dispatch of vectorization on Intel hardware.  For Python packages that depend on these runtimes, they can be individually downloaded as well.  For more information, please visit the link here.

Package Namepip commandPlatform Availability
mklpip install mklLinux, Win, macOS(10.12)
ipppip install ipp
daalpip install daal
intel-openmppip install intel-openmp
tbbpip install tbb
impipip install impiLinux, Win

Development only packages

For those building their own Python packages with Intel® Parallel Studio XE or building and linking with the Intel® Performance Libraries, the devel packages assist in providing the development runtimes pre-built for testing, and are available with the following commands:

Package Namepip commandPlatform Availability
mkl-develpip install mkl-develLinux, Win, macOS(10.12)
ipp-develpip install ipp-devel
daal-develpip install daal-devel

Troubleshooting

While `pip install`-ing any package, if installation fails with the following error message :

zlib.error: Error -5 while decompressing data: incomplete or truncated stream

retry after running the following command: rm -rf ~/.cache/pip

 

 

For more complete information about compiler optimizations, see our Optimization Notice.