mac instalar como python numpy scipy lapack blas

instalar - numpy python linux



¿Cómo verificar el enlace blas/lapack en numpy/scipy? (4)

Como usa las versiones cargadas dinámicamente, puedes hacer esto:

$ ldd anyoftheCmodules.so

donde anyoftheCmodules.so podría ser, por ejemplo, numpy/core/_dotblas.so , que enlaza con libblas.so .

Estoy construyendo mi entorno numpy / scipy basado en blas y lapack más o menos en función de this paseo.

Cuando termine, ¿cómo puedo comprobar que mis funciones numpy / scipy realmente usan las funcionalidades blas / lapack previamente creadas?


El método numpy.__config__.show() genera información sobre enlaces recopilados en tiempo de compilación. Mi salida se ve así. Creo que significa que estoy usando BLAS / LAPACK que viene con Mac OS.

>>>import numpy as np >>>np.__config__.show() lapack_opt_info: extra_link_args = [''-Wl,-framework'', ''-Wl,Accelerate''] extra_compile_args = [''-msse3''] define_macros = [(''NO_ATLAS_INFO'', 3)] blas_opt_info: extra_link_args = [''-Wl,-framework'', ''-Wl,Accelerate''] extra_compile_args = [''-msse3'', ''-I/System/Library/Frameworks/vecLib.framework/Headers''] define_macros = [(''NO_ATLAS_INFO'', 3)]


Lo que estás buscando es esto: información del sistema

Compilé numpy / scipy con atlas y puedo verificar esto con:

import numpy.distutils.system_info as sysinfo sysinfo.get_info(''atlas'')

Verifique la documentación para más comandos.


Puede usar la herramienta de dependencia del cargador de enlaces para observar los componentes de enlace de nivel C de su compilación y ver si tienen dependencias externas en su blas y lapack de su elección. No estoy cerca de una caja de linux en este momento, pero en una máquina OS X puedes hacer esto dentro del directorio site-packages que contiene las instalaciones:

$ otool -L numpy/core/_dotblas.so numpy/core/_dotblas.so: /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0) /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib (compatibility version 1.0.0, current version 268.0.1) $ otool -L scipy/linalg/flapack.so scipy/linalg/flapack.so (architecture i386): /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) /usr/local/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib (compatibility version 1.0.0, current version 242.0.0) scipy/linalg/flapack.so (architecture ppc): /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) /usr/local/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) $ otool -L scipy/linalg/fblas.so scipy/linalg/fblas.so (architecture i386): /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) /usr/local/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4) /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib (compatibility version 1.0.0, current version 242.0.0) scipy/linalg/fblas.so (architecture ppc): /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (compatibility version 1.0.0, current version 4.0.0) /usr/local/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)

sustituya ldd en lugar de otool en un sistema gnu / Linux y debe obtener las respuestas que necesita.