我正在尝试使用Python多进程包并行化一些广泛使用NumPy的代码。不幸的是,正如这里所述,苹果提供的默认线性代数库(Accelerate/Veclib)不能并行运行。因此,我正在尝试在安装NumPy时链接一个备用的LAPACK/BLAS,希望我的代码可以在没有崩溃的情况下并行化!
我下载并编译了另一个LAPACK/BLAS。然后,按照这里的说明进行操作:
在Python中,我得到了:
我下载并编译了另一个LAPACK/BLAS。然后,按照这里的说明进行操作:
export LAPACK=/usr/local/Cellar/lapack/3.4.2/lib/liblapack.dylib
export BLAS=/usr/local/Cellar/lapack/3.4.2/lib/libblas.dylib
export ATLAS=None
pip install numpy
这些代码运行良好。然而,如果我运行
numpy.show_config()
在Python中,我得到了:
atlas_threads_info:
NOT AVAILABLE
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)]
atlas_blas_threads_info:
NOT AVAILABLE
openblas_info:
NOT AVAILABLE
lapack_opt_info:
extra_link_args = ['-Wl,-framework', '-Wl,Accelerate']
extra_compile_args = ['-msse3']
define_macros = [('NO_ATLAS_INFO', 3)]
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
mkl_info:
NOT AVAILABLE
这表明NumPy仍在使用苹果的LAPACK/BLAS!事实上,崩溃问题仍然存在。有谁能帮我吗?