Tengo entendido que NumPy dejó de admitir el uso de Accelerate BLAS y LAPACK en la versión 1.20.0. De acuerdo con las notas de la versión de NumPy 1.21.1, estos errores se han resuelto y ahora es posible volver a compilar NumPy desde la fuente usando el marco Accelerate en MacOS >= 11.3: https://numpy.org/doc/stable/release/1.21 .0-notes.html , pero no puedo encontrar ninguna documentación sobre cómo hacerlo. Parece que sería interesante intentarlo porque se supone que el marco Accelerate está altamente optimizado para los procesadores de la serie M. Me imagino que el proceso es algo como esto:
site.cfg que se parezca a: [DEFAULT] library_dirs = /some/directory/ include_dirs = /some/other/directory/ [accelerate] libraries = Accelerate, vecLibpython setup.py build El problema es que no sé 1. cuáles deberían ser las variables library_dirs e include_dirs para que NumPy sepa usar Accelerate BLAS y LAPACK y 2. si hay otros pasos adicionales que deben tomarse. Si alguien sabe cómo hacerlo o puede aportar alguna información, se lo agradecería mucho.
De hecho, intenté esto hoy y estos son los pasos que usé:
site.cfg , coloque [accelerate] libraries = Accelerate, vecLib Construir con NPY_LAPACK_ORDER=accelerate python3 setup.py build
Instalar con pip3 install .
Posteriormente, np.show_config() devolvió lo siguiente
blas_mkl_info: NOT AVAILABLE blis_info: NOT AVAILABLE openblas_info: NOT AVAILABLE accelerate_info: extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers'] extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)] blas_opt_info: extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers'] extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)] lapack_mkl_info: NOT AVAILABLE openblas_lapack_info: NOT AVAILABLE openblas_clapack_info: NOT AVAILABLE flame_info: NOT AVAILABLE lapack_opt_info: extra_compile_args = ['-I/System/Library/Frameworks/vecLib.framework/Headers'] extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] define_macros = [('NO_ATLAS_INFO', 3), ('HAVE_CBLAS', None)] Supported SIMD extensions in this NumPy install: baseline = NEON,NEON_FP16,NEON_VFPV4,ASIMD found = ASIMDHP,ASIMDDP not found =y mi prueba rápida sugiere un aumento significativo del rendimiento en relación con OpenBlas.
No, no tiene por qué ser tan complicado. Usé estos dos comandos y pude instalar numpy con Apple Accelerate en Mac M1.
pip install cython pybind11 pip install --no-binary :all: --no-use-pep517 numpyReferencia: Cómo instalar SciPy en Apple Silicon (ARM/M1)