J'utilise PIP pour installer Scipy avec MKL afin d'accélérer les performances. Mon système d'exploitation est Ubuntu 64 bits. En utilisant la solution de cette question , je crée un fichier .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=
Ce fichier m'aide à installer Numpy avec MKL avec succès. Cependant, en utilisant le même fichier ci-dessus, l’installation de Scipy provoque l’erreur
ImportError: libmkl_rt.so: cannot open shared object file: No such file or directory
J'utilise aussi
export LD_LIBRARY_PATH=/opt/intel/composer_xe_2013_sp1/mkl/lib/intel64
mais le problème est toujours le même.
Quelqu'un sait comment résoudre ce problème? Je ne veux pas installer Scipy manuellement, alors tout le monde me donne quelques astuces pour le réparer.
Intel a publié des molettes de paquets tels que Numpy, Scipy et Scikit-learn pour PyPI. Ces roues ont été construites lors de la liaison avec Intel MKL et incluent diverses optimisations.
Si vous voulez que Scipy soit construit avec Intel MKL:
#Remove existing Numpy and/or Scipy:
pip uninstall numpy scipy -y
#Install scipy built with Intel MKL:
pip install intel-scipy
J'ai Win10 64Bit avec Python 3.6.2 j'ai installé scipy par http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
J'ai suivi les étapes suivantes:
Terminé!
Si vous rencontrez des problèmes pour installer ou exécuter une version spécifique, désinstallez-le d'abord, puis installez-le.
Étape 1:
pip uninstall -v numpy
Étape 2: télécharger le fichier wheel et installer
pip install -U numpy-1.13.0+mkl-cp36-cp36m-win_AMD64.whl
Dans cet exemple, le nom du fichier de roue est "numpy-1.13.0 + mkl-cp36-cp36m-win_AMD64.whl "
Deux ans se sont écoulés depuis que cette question a été posée.
Il existe maintenant des roues numpy/scipy pour linux qui utilisent un openblas compilé pour avx2, afin que vous puissiez obtenir de bien meilleures performances sans créer de paquet. Vous devrez peut-être mettre à niveau pip pour l’obtenir pour installer la roue:
pip install --upgrade pip
pip install numpy scipy
Si vous voulez MKL, vous pouvez installer Anaconda ou Intel Distribution for Python . Ils utilisent conda au lieu de pip pour gérer les packages, mais ils sont gratuits et distribuent des packages contenant toutes les dépendances, y compris MKL.
Puisque la question elle-même n'a pas reçu de réponse, laissez-moi tenter le coup ...
Je pense que le problème réside essentiellement dans le fait que les bibliothèques BLAS/LAPACK utilisées sont réparties sur plusieurs emplacements et que numpy ne gère pas cela correctement.
Nous avons corrigé cela dans EasyBuild, où nous construisions numpy/scipy sur Intel MKL depuis un moment maintenant, avec ce correctif: https://github.com/hpcugent/easybuild-easyconfigs/blob/master/easybuild /easyconfigs/n/numpy/numpy-1.8.1-mkl.patch
Pour moi, MKL est venu avec la bibliothèque Scipy par conda install scipy
La solution @ rscohn2 m'a donné un indice pour utiliser des packages.
Pour référence, mon environnement est inclus: Ubuntu, Anaconda, Python 3.6, Scipy 1.1 et MKL 2018.0.