我想並行化一些Python代碼,它廣泛使用NumPy與Python多處理包。不幸的是,如here所述,Apple提供的默認線性代數庫(Accelerate/Veclib)不能並行運行。所以我試圖在安裝NumPy時連接一個備用LAPACK/BLAS,希望我的代碼可以並行化而不會崩潰!在Mac OS X上安裝numpy替代LAPACK/BLAS的小牛隊
我下載並編譯了一個替代LAPACK/BLAS。然後,按照說明here,我做了:
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
哪個運行良好。但是,如果我跑在Python
numpy.show_config()
,我得到
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!事實上崩潰仍然很多。任何人都可以幫我嗎?
您是否安裝了Fortran編譯器g77或gfortran?我沒有看到和你所看到的幾乎相同的內容 - 使用Anaconda進行安裝。 –
是的,我已經安裝了gfortran。 –
爲了更正你的問題,Apple提供的默認線性代數庫「並行運行」就好了;問題是在fork-without-exec的兩端調用它們(我應該注意,沒有真正的理由期望*會工作)。 –