Install Scipy with MKL through PIP

2019-02-11 16:44发布

I am using PIP to install Scipy with MKL to accelerate the performance. My OS is Ubuntu 64 bit. Using the solution from this question, I create a file .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=

This file helps me to install Numpy with MKL successfully. However, using the same above file, installing Scipy prompts the error

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

I also use

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

but the problem is still the same.

Anyone know how to fix this problem? I don't want to install Scipy manually so anyone give me some hints to fix it.

7条回答
放我归山
2楼-- · 2019-02-11 16:51

If you are having trouble installing or running with specific version then first uninstall and then install

Step 1:

pip uninstall -v numpy

Step 2: download the wheel file and install

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

In this example wheel file name is "numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl "

查看更多
啃猪蹄的小仙女
3楼-- · 2019-02-11 16:54

I have Win10 64Bit with Python 3.6.2 i have installed scipy through http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy

I followed following steps :

  • Step 1: Uninstall if you have any previous version of numpy, pip uninstall numpy
  • Step 2 : Download numpy‑1.13.1+mkl‑cp36‑cp36m‑win_amd64.whl with MKL(Math Kernel Library) from below link, http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • Step 3: copy downloaded file into another location and launch command prompt from that location.
  • Step 4: run this command, pip install -U numpy-1.13.1+mkl-cp36-cp36m-win_amd64.whl
  • Step 5: Now Download scipy library from, http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  • Step 6: Copy downloaded file into same location in which numpy is copied.
  • Step 7: In CMD prompt run this cmd, pip install scipy-0.19.1-cp36-cp36m-win_amd64.whl

Done!

查看更多
爷、活的狠高调
4楼-- · 2019-02-11 16:57

2 years have passed since this question was asked.

There are now numpy/scipy wheels for linux that use a openblas compiled for avx2, so you can get much better performance without building packages. You may need to upgrade pip to get it to install the wheel:

pip install --upgrade pip
pip install numpy scipy

If you want MKL, then you can install Anaconda or Intel Distribution for Python. They use conda instead of pip to manage packages, but they are free and distribute packages that contain all the dependences, including MKL.

查看更多
唯我独甜
5楼-- · 2019-02-11 17:09

Intel has been publishing wheels of packages like Numpy, Scipy and Scikit-learn to PyPI. These wheels have been built while linking against Intel MKL, and include various optimizations.

If you want Scipy built with Intel MKL:

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

More information available here

查看更多
三岁会撩人
6楼-- · 2019-02-11 17:09

Since the actual question itself was not answered, let me give it a shot...

I think the problem here basically is that the BLAS/LAPACK libraries being used are spread out across multiple location, and numpy doesn't handle this well.

We have fixed this in EasyBuild, where we have been building numpy/scipy on top of Intel MKL for a while now, with this patch: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch

查看更多
家丑人穷心不美
7楼-- · 2019-02-11 17:11

I have been facing this problem the past few weeks on: Windows 10 64 bit Python 3.5.2

My workaround:

First: pip install wheel

Next: Download Numpy and Scipy form Gholke's repo Numpy and SciPy

Then:

pip install numpy_package.whl

pip install scipy_package.whl

查看更多
登录 后发表回答