Comment utiliser numpy avec OpenBLAS au lieu d'Atlas dans Ubuntu?
J'ai cherché un moyen facile à installer/compiler Numpy avec OpenBLAS mais n'ai pas trouvé une réponse facile. Toute la documentation que j'ai vu prend trop de connaissances accordée pour quelqu'un comme moi qui n'est pas utilisé pour compiler le logiciel.
Il y a deux paquets de Ubuntu liées à OpenBLAS : libopenblas-base
et libopenblas-dev
.
Une fois qu'ils sont installés, que dois-je faire pour installer Numpy de nouveau avec eux?
Merci!
Noter que lors de ces OpenBLAS les paquets sont installés, Numpy, ne fonctionne plus: il ne peut pas être importé: ImportError: /usr/lib/liblapack..3gf: undefined symbol: ATL_chemv.
Le problème se produit aussi bien lors de l'installation de Théano avec leur site web des instructions pour Ubuntu.
Il a été remarqué ici déjà.
source d'informationauteur PierreE
Vous devez vous connecter pour publier un commentaire.
Exécuter
sudo update-alternatives --all
et définirliblapack.so.3gf
à/usr/lib/lapack/liblapack.so.3gf
À ajouter à la accepté de répondre (de l'aide
update-alternatives
), la raison pour cela est parce que OpenBlas n'est pas compatible avec la version de l'Atlas de Lapack. Pour chacun des Blas et Lapack versions:C'est partir à la fois de l'expérience personnelle (avec exactement le même problème) et de réaliser pourquoi une telle combinaison n'était pas mentionné dans cette comparaison blog.
Par la manière, vous pouvez tout simplement trouver les fichiers nécessaires dans
/etc/alternatives/
généralement avec un nom de fichier commençant parlib*
. Pour chacun de fairesudo update-alternatives --config <filename>
. Par exemple, pour suivants:sudo update-alternatives --config libblas.so
sudo update-alternatives --config libblas.so.3
pour changer le Blas version.
Envisager d'utiliser EasyBuild (http://hpcugent.github.io/easybuild/), une structure open-source pour la construction et l'installation de logiciels.
Il vous permet de (très facilement) construire et installer (scientifique) logiciels avec différents compilateur, et en utilisant différentes bibliothèques BLAS (ATLAS, OpenBLAS, ACML, Intel MKL, ...).
Une fois que vous installez EasyBuild (pro astuce: utiliser le bootstrap procédure décrite à la https://github.com/hpcugent/easybuild/wiki/Bootstrapping-EasyBuild), elle se résume à l'exécution d'une commande unique, quelque chose comme:
eb numpy-1.6.2-goolf-1.4.10-Python-2.7.3.eb -ldr
Ce sera d'abord construire et d'installer de compilateur complet de la chaîne (goolf: GCC+OpenBLAS+OpenMPI+LAPACK+FFTW), et par la suite de construire Python numpy et avec celle de la chaîne. Et tout cela pendant que vous obtenez le déjeuner. 😉
Disclaimer: je suis l'un des EasyBuild développeurs.