python linux scipy pip intel-mkl

python - Instale Scipy con MKL a través de PIP



linux intel-mkl (7)

Estoy usando PIP para instalar Scipy con MKL para acelerar el rendimiento. Mi sistema operativo es Ubuntu 64 bit. Usando la solución de esta question , creo un archivo .numpy-site.cfg

[mkl] library_dirs=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64/ include_dirs=/opt/intel/mkl/include/ mkl_libs=mkl_intel_lp64,mkl_intel_thread,mkl_core,mkl_rt lapack_libs=

Este archivo me ayuda a instalar Numpy con MKL con éxito. Sin embargo, al usar el mismo archivo anterior, la instalación de Scipy genera el error

ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory

Yo tambien uso

export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64

Pero el problema sigue siendo el mismo.

¿Alguien sabe cómo resolver este problema? No quiero instalar Scipy manualmente para que alguien me dé algunos consejos para solucionarlo.



Han pasado 2 años desde que se hizo esta pregunta.

Ahora hay varias ruedas numpy / scipy para Linux que utilizan un openblas compilado para avx2, por lo que puede obtener un rendimiento mucho mejor sin crear paquetes. Es posible que necesite actualizar pip para que instale la rueda:

pip install --upgrade pip pip install numpy scipy

Si desea MKL, puede instalar Anaconda o Intel Distribution for Python . Utilizan conda en lugar de pip para administrar paquetes, pero son gratuitos y distribuyen paquetes que contienen todas las dependencias, incluido MKL.



Intel ha estado publicando ruedas de paquetes como Numpy, Scipy y Scikit-learn en PyPI. Estas ruedas se han construido al vincularse con Intel MKL e incluyen varias optimizaciones.

Si quieres que Scipy se construya con Intel MKL:

#Remove existing Numpy and/or Scipy: pip uninstall numpy scipy -y #Install scipy built with Intel MKL: pip install intel-scipy

Más información disponible aquí.


Para mí, MKL vino con la biblioteca conda install scipy de conda install scipy

La solución @ rscohn2 me dio una pista para usar paquetes.

Para la referencia, mi entorno está incluido Ubuntu, Anaconda, Python 3.6, Scipy 1.1 y MKL 2018.0.


Si tiene problemas para instalar o ejecutar una versión específica, primero desinstale y luego instale

Paso 1:

pip uninstall -v numpy

Paso 2: descargar el archivo de rueda e instalar

pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl

En este ejemplo, el nombre del archivo de la rueda es "numpy-1.13.0 + mkl-cp36-cp36m-win_amd64.whl"


Tengo Win10 64Bit con Python 3.6.2. He instalado scipy en http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

Seguí los siguientes pasos:

  • Paso 1: Desinstale si tiene alguna versión anterior de numpy, pip desinstale numpy
  • Paso 2: descargue numpy ‑ 1.13.1 + mkl ‑ cp36 ‑ cp36m ‑ win_amd64.whl con MKL (Math Kernel Library) desde el siguiente enlace, http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • Paso 3: copie el archivo descargado en otra ubicación e inicie el símbolo del sistema desde esa ubicación.
  • Paso 4: ejecute este comando, pip instale -U numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl
  • Paso 5: Ahora descargue la biblioteca de scipy desde http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  • Paso 6: Copie el archivo descargado en la misma ubicación en la que se copia el número.
  • Paso 7: En el indicador de CMD, ejecute este cmd, pip instale scipy-0.19.1-cp36-cp36m-win_amd64.whl

¡Hecho!