我正在运行ArchLinux
,我的Python版本是2.7.8
,并且已经安装了BLAS
和LAPACK
:
% pacman -Qs blas; pacman -Qs lapack
local/blas 3.5.0-1
Basic Linear Algebra Subprograms
local/lapack 3.5.0-1
Linear Algebra PACKage
Numpy已通过sudo pip2 install numpy
安装,并确认它同时看到了BLAS
和LAPACK
:
>>> numpy.show_config()
blas_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
lapack_info:
libraries = ['lapack']
library_dirs = ['/usr/lib64']
language = f77
atlas_threads_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_blas_threads_info:
NOT AVAILABLE
openblas_info:
NOT AVAILABLE
lapack_opt_info:
libraries = ['lapack', 'blas']
library_dirs = ['/usr/lib64']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
openblas_lapack_info:
NOT AVAILABLE
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
mkl_info:
NOT AVAILABLE
然而,我的np.dot
操作的速度测试超过30秒,但我知道在一台类似的机器上它运行时间不到10秒。如何解决速度问题?在安装numpy时是否错过了支持BLAS
和LAPACK
的部分?
sudo pip2 install numpy
所做的:它获取numpy
包,配置它,构建并安装。我的下一个代码片段显示numpy
知道BLAS
和LAPACK
。 - alisianoiBLAS
实际上是一个参考实现,而不是优化实现。这可以从阅读这里的“Presentation”部分得出。 - alisianoiATLAS
。http://math-atlas.sourceforge.net。ATLAS试图引导一个快速的`BLAS`实现,以适应你的系统。 - cel