パフォーマンスを加速するために、MIPでScipyをインストールするためにPIPを使用しています。私のOSは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 with 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を手動でインストールしたくないので、誰かがそれを修正するためのヒントをくれます。
インテルは、Numpy、Scipy、Scikit-learnなどのパッケージのホイールをPyPIに公開しています。これらのホイールは、インテルMKLにリンクしながら構築されており、さまざまな最適化が含まれています。
インテルMKLでScipyをビルドする場合:
#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy
Python 3.6.2でscipyをインストールしました http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy のWin10 64Bitがあります
私は次の手順に従いました:
できた!
この質問が尋ねられてから2年が経ちました。
Linux用のnumpy/scipy wheelがavx2用にコンパイルされたopenblasを使用するようになったため、パッケージをビルドしなくてもはるかに優れたパフォーマンスを得ることができます。ホイールをインストールするには、pipをアップグレードする必要がある場合があります。
pip install --upgrade pip
pip install numpy scipy
MKLが必要な場合は、 Anaconda または Intel Distribution for Python をインストールできます。パッケージの管理にはpipではなくcondaを使用しますが、無料であり、MKLを含むすべての依存関係を含むパッケージを配布します。
特定のバージョンでインストールまたは実行に問題がある場合は、最初にアンインストールしてからインストールしてください
ステップ1:
pip uninstall -v numpy
ステップ2:ホイールファイルをダウンロードしてインストールする
pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_AMD64.whl
この例では、ホイールファイル名は「numpy-1.13.0 + mkl-cp36-cp36m-win_AMD64.whl」です
実際の質問自体は回答されていないため、試してみましょう...
ここでの問題は基本的に、使用されているBLAS/LAPACKライブラリが複数の場所に分散していることであり、numpyはこれをうまく処理できないと思います。
これをEasyBuildで修正しました。EasyBuildでは、しばらくの間、Intel MKLの上にnumpy/scipyをビルドしていましたが、このパッチで https://github.com/hpcugent/easybuild-easyconfigs/blob/master /easybuild/easyconfigs/n/numpy/numpy-1.8.1-mkl.patch
私にとって、MKLにはScipyライブラリがconda install scipy
@ rscohn2ソリューションは、パッケージを使用するためのヒントをくれました。
参考のために、私の環境にはUbuntu、Anaconda、Python 3.6、Scipy 1.1およびMKL 2018.0が含まれています。