我正在使用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,所以任何人都给我一些提示来解决它。
答案 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
答案 1 :(得分:5)
我使用Python 3.6.2的Win10 64Bit我通过http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy安装了scipy
我遵循了以下步骤:
完成!
答案 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)
现在Linux的numpy / scipy轮子使用为avx2编译的openblas,因此无需构建软件包就可以获得更好的性能。您可能需要升级pip才能安装它:
pip install --upgrade pip
pip install numpy scipy
如果您想要MKL,则可以安装Anaconda或Intel Distribution for Python。他们使用conda而不是pip来管理包,但是它们是免费的并且分发包含所有依赖性的包,包括MKL。
答案 4 :(得分:1)
过去几周我一直面临这个问题: Windows 10 64位Python 3.5.2
我的解决方法:
首先:pip install wheel
下一步:从Gholke的回购下载Numpy和Scipy Numpy和SciPy
然后:
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
@ rscohn2解决方案给了我一个使用包的提示。
作为参考,我的环境包括Ubuntu,Anaconda,Python 3.6,Scipy 1.1和MKL 2018.0。