NumPy和SciPy.静态与动态加载

Ame*_*ina 7 numpy blas scipy lapack atlas

TLDR:我可以在NumPy和SciPy中使用静态ATLAS/LAPACK库吗?

背景:

使用LAPACK构建ATLAS之后:

wget http://sourceforge.net/projects/math-atlas/files/Stable/3.10.1/atlas3.10.1.tar.bz2/download
wget http://www.netlib.org/lapack/lapack-3.4.2.tgz
tar -jxvf atlas3.10.1.tar.bz2
mkdir BUILD
cd BUILD
../ATLAS/configure -b 64 -Fa alg -fPIC \
    --with-netlib-lapack-tarfile=../lapack-3.4.2.tgz \
    --prefix=<ATLAS_INSTALL_PATH>
make
cd lib
make shared
make ptshared
cd ..
make install
Run Code Online (Sandbox Code Playgroud)

我得到以下文件BUILD/lib:

Make.inc@  
Makefile   
Run Code Online (Sandbox Code Playgroud)

.a 文件:

libatlas.a       
libcblas.a       
libf77blas.a     
libptf77blas.a  
libtstatlas.a
liblapack.a     
libf77refblas.a  
libptlapack.a
libptcblas.a    
Run Code Online (Sandbox Code Playgroud)

.so 文件:

libsatlas.so*
libtatlas.so*
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是,为什么我没有.so(共享动态库)文件lapackcblas

我的第二个问题是,NumPy使用以下哪两个文件?

libsatlas.so*
libtatlas.so*
Run Code Online (Sandbox Code Playgroud)

最后,如果我定义:

BLAS=/path_to_BUILD/lib/libcblas.a
LAPACK=/path_to_BUILD/lib/liblapack.a
ATLAS=/path_to_BUILD/lib/libatlas.a
Run Code Online (Sandbox Code Playgroud)

并在NumPy中添加/path_to_BUILD/lib到文件中LD_LIBRARY_PATHlibrary_dirs变量site.cfg.NumPy和SciPy会使用我的库吗?(即使它们是静态的?).

Mat*_*DMo 2

你应该能够。添加

[DEFAULT]
search_static_first = true
Run Code Online (Sandbox Code Playgroud)

到您的site.cfg文件中,您应该可以开始了。