通过PIP用MKL安装Scipy

时间:2014-02-24 15:05:11

标签: python linux scipy pip intel-mkl

我正在使用PIP与MKL一起安装Scipy以加速性能。我的操作系统是Ubuntu 64位。使用此question中的解决方案,我创建了一个文件.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=

此文件帮助我成功安装Numpy和MKL。但是,使用相同的上述文件,安装Scipy会提示错误

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

我也用

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

但问题仍然存在。

任何人都知道如何解决这个问题?我不想手动安装Scipy,所以任何人都给我一些提示来解决它。

7 个答案:

答案 0 :(得分:8)

英特尔一直在向PyPI发布诸如Numpy,Scipy和Scikit-learn之类的软件包。这些轮子是在与英特尔MKL链接时构建的,并进行了各种优化。

如果要使用英特尔MKL构建Scipy:

#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

答案 1 :(得分:5)

我使用Python 3.6.2的Win10 64Bit我通过http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy安装了scipy

我遵循了以下步骤:

  • 步骤1:如果你有任何以前版本的numpy,请卸载,        pip uninstall numpy
  • 第2步:下载numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl MKL(数学核心库)来自以下链接,        http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
  • 步骤3:将下载的文件复制到另一个位置并启动命令 来自该位置的提示。
  • 第4步:运行此命令,        pip install -U numpy-1.13.1 + mkl-cp36-cp36m-win_amd64.whl
  • 第5步:现在从下载scipy库,        http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
  • 步骤6:将下载的文件复制到numpy所在的同一位置 复制。
  • 第7步:在CMD提示符下运行此cmd,        pip install scipy-0.19.1-cp36-cp36m-win_amd64.whl

完成!

答案 2 :(得分:4)

如果您在安装或运行特定版本时遇到问题,请先卸载然后再安装

第1步:

pip uninstall -v numpy

第2步:下载wheel文件并安装

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

在此示例中,轮盘文件名为“numpy-1.13.0 + mkl-cp36-cp36m-win_amd64.whl” “

答案 3 :(得分:3)

自从提出这个问题已经过去了2年。

现在Linux的numpy / scipy轮子使用为avx2编译的openblas,因此无需构建软件包就可以获得更好的性能。您可能需要升级pip才能安装它:

pip install --upgrade pip
pip install numpy scipy

如果您想要MKL,则可以安装AnacondaIntel Distribution for Python。他们使用conda而不是pip来管理包,但是它们是免费的并且分发包含所有依赖性的包,包括MKL。

答案 4 :(得分:1)

过去几周我一直面临这个问题: Windows 10 64位Python 3.5.2

我的解决方法:

首先:pip install wheel

下一步:从Gholke的回购下载Numpy和Scipy NumpySciPy

然后:

pip install numpy_package.whl

pip install scipy_package.whl

答案 5 :(得分:0)

由于实际问题本身没有得到解答,让我试一试......

我认为这里的问题基本上是使用的BLAS / LAPACK库分布在多个位置,numpy不能很好地处理这个问题。

我们已经在EasyBuild中解决了这个问题,我们已经在英特尔MKL上建立了numpy / scipy一段时间了,这个补丁:https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch

答案 6 :(得分:0)

对我来说,MKL来自conda install scipy

的Scipy库

@ rscohn2解决方案给了我一个使用包的提示。

作为参考,我的环境包括Ubuntu,Anaconda,Python 3.6,Scipy 1.1和MKL 2018.0。