7
TLDR:我可以使用靜態ATLAS/LAPACK庫與NumPy & SciPy?NumPy和SciPy。靜態與動態加載
背景:
與下列建設ATLAS與LAPACK後:
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
我BUILD/lib
下的下列文件:
[email protected]
Makefile
.a
文件:
libatlas.a
libcblas.a
libf77blas.a
libptf77blas.a
libtstatlas.a
liblapack.a
libf77refblas.a
libptlapack.a
libptcblas.a
.so
文件:
libsatlas.so*
libtatlas.so*
我的第一個問題是,爲什麼不讓我已經.so
(動態共享庫)文件lapack
和cblas
?
我的第二個問題是,NumPy使用以下兩個文件中的哪一個?
libsatlas.so*
libtatlas.so*
最後,如果我定義:
BLAS=/path_to_BUILD/lib/libcblas.a
LAPACK=/path_to_BUILD/lib/liblapack.a
ATLAS=/path_to_BUILD/lib/libatlas.a
,並添加/path_to_BUILD/lib
到LD_LIBRARY_PATH
並向site.cfg
文件中與NumPy內library_dirs
變量。 NumPy和SciPy會使用我的庫嗎? (即使它們是靜態的?)。