Die Math Kernel Library (mkl), eine Hochleistungsmatrixbibliothek von Intel, ist jetzt kostenlos verfügbar. Ich werde erklären, wie man dies von numpy zur Verfügung stellt. Das Ziel ist Linux (ich bin Ubuntu 14.04).
Klicken Sie auf der folgenden Website auf "Klicken Sie jetzt hier, um sich zu registrieren und herunterzuladen".
https://software.intel.com/en-us/articles/free_mkl
Geben Sie Ihren Namen, Ihre E-Mail-Adresse, Ihren Firmennamen usw. ein. Sie erhalten eine Registrierungs-E-Mail, der Sie zum Herunterladen folgen können. Es gibt keine Mac-Version. Es geht um 1 GB. Notieren Sie sich den Registrierungsschlüssel, den Sie während der Installation benötigen.
Ich habe l_mkl_11.3.0.109.tgz
heruntergeladen
Extrahieren Sie die heruntergeladene Datei. Es ist install.sh
drin, also führen Sie es aus. Das Installationsziel ist standardmäßig "/ opt / intel". Sie werden unterwegs aufgefordert, den Registrierungsschlüssel einzugeben. Geben Sie ihn also ein. (
Wenn Sie Interactive nicht verwenden möchten, ändern Sie den folgenden Teil der Datei "Silent.cfg" im entpackten Verzeichnis.
ACCEPT_EULA=accept
ACTIVATION_SERIAL_NUMBER=XXXX-XXXXXXXX
ACTIVATION_TYPE=serial_number
Sie können es nur in der Befehlszeile installieren, indem Sie "install.sh -s quiet.cfg" ausführen.
Fügen Sie "LD_LIBRARY_PATH" in "/ opt / intel / mkl / lib / intel64" ein.
Die Einstellungen für die Installation von numpy finden Sie unter ~ / .numpy-site.cfg
. Die Vorlage für diese Datei befindet sich in der Quelle.
https://github.com/numpy/numpy/blob/master/site.cfg.example
Ändern Sie die Datei und bewahren Sie sie in Ihrem Home-Verzeichnis auf. Der Inhalt ist wie folgt.
[mkl]
library_dirs = /opt/intel/mkl/lib/intel64/
include_dirs = /opt/intel/mkl/include
mkl_libs = mkl_rt
lapack_libs =
Weitere Informationen finden Sie auf der folgenden Website. https://software.intel.com/en-us/articles/numpyscipy-with-intel-mkl
In diesem Zustand installiert pip install --no-binary: all: numpy
numpy mit mkl ohne Erlaubnis. Wenn numpy ursprünglich enthalten ist, deinstallieren Sie es einmal.
Sie können sehen, welche Matrixbibliothek Sie verwenden, indem Sie sich numpy.show_config ()
ansehen. Es scheint, dass Chainer etwa 1,5-mal schneller läuft als OpenBLAS, wenn es als Beispiel ausgeführt wird.
$ python
>>> import numpy
>>> numpy.show_config()
lapack_opt_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib/intel64/']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/mkl/include']
blas_opt_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib/intel64/']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/mkl/include']
openblas_lapack_info:
NOT AVAILABLE
lapack_mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib/intel64/']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/mkl/include']
blas_mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib/intel64/']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/mkl/include']
mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib/intel64/']
define_macros = [('SCIPY_MKL_H', None)]
include_dirs = ['/opt/intel/mkl/include']
Recommended Posts