6 votes

LAPACK, BLAS, ATLAS sur Mac book pro 2017, Mojave

Je veux savoir si et où LAPACK , BLAS , ATLAS sont installés. J'ai lu que ces bibliothèques accélèrent le traitement des données avec numpy (Python).

Comment peut-il trouver l'emplacement de ces paquets (s'ils sont installés) et les désactiver ?

sous linux, vous pouvez faire ceci

apt-cache policy liblapack3
apt-cache policy libblas3
apt-cache policy libatlas-base-dev

et pour le lapack, vous obtiendrez

liblapack3:
  Installed: (none)
  Candidate: 3.7.1-4ubuntu1
  Version table:
     3.7.1-4ubuntu1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

3voto

wjid Points 328

Pour plus de clarté, le message original concerne les bibliothèques mathématiques (algèbre linéaire) (généralement en FORTRAN ou C) incluses dans MacOS Mojave, notamment LAPACK (Linear Algebra PACKage), BLAS (Basic Linear Algebra Subprograms) et ATLAS (Automatically Tuned Linear Algebra Software). Ces bibliothèques sont incluses dans le framework Accelerate, dont la documentation peut être trouvée ici : Documentation sur Apple BLAS

Sur ma machine, ils sont situés ici : /System/Library/Frameworks/Accelerate.Framework

Ces bibliothèques sont également incluses dans de nombreux paquets de compilateurs FORTRAN vis-à-vis d'Intel iFort et autres. Elles sont également disponibles ici : LAPACK y BLAS y ATLAS

L'OP est également curieux de savoir quelles bibliothèques sont liées à Python et comment les modifier. Je modifie ma réponse pour fournir un contexte à ce sujet, car il est pertinent pour les membres de la communauté Apple qui utilisent leurs machines pour des tâches de calcul intensif.

Pour déterminer quelles bibliothèques numpy est lié, ouvrez un terminal et tapez :

python
import numpy as np
np.__config__.show()

Cela donnera la façon dont numpy est lié. Sur ma machine c'est :

mkl_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/Users/wjid/anaconda3/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/wjid/anaconda3/include']
blas_mkl_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/Users/wjid/anaconda3/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/wjid/anaconda3/include']
blas_opt_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/Users/wjid/anaconda3/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/wjid/anaconda3/include']
lapack_mkl_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/Users/wjid/anaconda3/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/wjid/anaconda3/include']
lapack_opt_info:
    libraries = ['mkl_rt', 'pthread']
    library_dirs = ['/Users/wjid/anaconda3/lib']
    define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
    include_dirs = ['/Users/wjid/anaconda3/include']

Si vous êtes soucieux de l'efficacité des calculs et que vous utilisez un processeur Intel, vous voudrez probablement utiliser les bibliothèques MKL fournies avec Anaconda ou Miniconda (ce que j'utilise). Si vous voulez autre chose, vous devrez probablement construire à partir des sources.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X