Ich benutze PIP, um Scipy mit MKL zu installieren, um die Leistung zu beschleunigen. Mein Betriebssystem ist Ubuntu 64-Bit. Mit der Lösung aus dieser question erzeuge ich eine Datei .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=
Diese Datei hilft mir, Numpy erfolgreich mit MKL zu installieren. Wenn Sie jedoch dieselbe Datei verwenden, wird bei der Installation von Scipy der Fehler angezeigt
ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory
Ich benutze auch
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64
aber das problem ist immer noch dasselbe.
Weiß jemand, wie man dieses Problem löst? Ich möchte Scipy nicht manuell installieren, also gibt mir jemand ein paar Tipps, um das Problem zu beheben.
Intel hat für PyPI Räder von Paketen wie Numpy, Scipy und Scikit-Learn veröffentlicht. Diese Räder wurden während der Verknüpfung mit Intel MKL gebaut und beinhalten verschiedene Optimierungen.
Wenn Sie Scipy mit Intel MKL erstellen möchten:
#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy
Ich habe Win10 64Bit mit Python 3.6.2. Ich habe Scipy über http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy installiert.
Ich habe folgende Schritte befolgt:
Erledigt!
Wenn Sie Probleme bei der Installation oder Ausführung mit einer bestimmten Version haben, deinstallieren Sie sie und installieren Sie sie anschließend
Schritt 1:
pip uninstall -v numpy
Schritt 2: Laden Sie die Raddatei herunter und installieren Sie sie
pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_AMD64.whl
In diesem Beispiel lautet der Name der Raddatei "numpy-1.13.0 + mkl-cp36-cp36m-win_AMD64.whl "
Seit dieser Frage sind 2 Jahre vergangen.
Es gibt jetzt Numpy/Scipy-Laufräder für Linux, die einen für avx2 kompilierten Openblas verwenden, sodass Sie ohne Paketbildung eine viel bessere Leistung erzielen können. Möglicherweise müssen Sie ein Upgrade von pip durchführen, um das Rad installieren zu können:
pip install --upgrade pip
pip install numpy scipy
Wenn Sie MKL möchten, können Sie Anaconda oder Intel Distribution for Python installieren. Sie verwenden conda anstelle von pip zum Verwalten von Paketen. Sie sind jedoch kostenlos und verteilen Pakete, die alle Abhängigkeiten enthalten, einschließlich MKL.
Da die eigentliche Frage selbst nicht beantwortet wurde, lass es mich versuchen ...
Ich denke, das Problem hier ist im Grunde, dass die verwendeten BLAS/LAPACK-Bibliotheken über mehrere Standorte verteilt sind und Numpy dies nicht gut beherrscht.
Wir haben dies in EasyBuild behoben, wo wir seit einiger Zeit Numpy/Scipy auf Intel MKL mit diesem Patch erstellen: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild /easyconfigs/n/numpy/numpy-1.8.1-mkl.patch
Für mich kam MKL mit Scipy-Bibliothek von conda install scipy
@ rscohn2-Lösung gab mir einen Hinweis zur Verwendung von Paketen.
Als Referenz enthält meine Umgebung Ubuntu, Anaconda, Python 3.6, Scipy 1.1 und MKL 2018.0.