ali*_*noi 3 python install numpy blas lapack
我正在运行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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
然而,np.dot
当我知道在类似的机器上它在10秒内运行良好时,我对该操作的速度测试超过30秒.如何解决速度问题?在安装numpy BLAS
和LAPACK
支持时我是否错过了什么?
好吧,这是整个故事.首先,初始设置是缓慢的,因为BLAS
是一个参考实现它的目的不是要快.我再说一遍,截至今天,blas
ArchLinux Extra存储库中的包是参考实现.有关详细信息,请参阅此处的Presentation
部分.
其次,有优化版本BLAS
(很多,实际上:ATLAS,OpenBlas,Goto BLAS,MKL等等,毫无疑问).它们安装起来相当棘手.我最终安装了OpenBlas,这是在ArchLinux上执行此操作的分步概述:
openblas-lapack
包python2-numpy-openblas
从AUR安装软件包据我所知,它与普通python2-numpy
软件包的不同之处在于site.cfg
配置文件,它指示numpy
搜索openblas
我们在步骤1中安装的库.这些动作为我解决了问题,速度现在好多了 - 我在问题中提到的测试时间不到1秒.numpy显示它已经用openblas编译:
>>> np.show_config()
lapack_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
blas_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
openblas_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
openblas_lapack_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/lib']
language = f77
blas_mkl_info:
NOT AVAILABLE
Run Code Online (Sandbox Code Playgroud)
我认为,建立的过程openblas
为导向numpy
的python3
长相非常相似.
归档时间: |
|
查看次数: |
1716 次 |
最近记录: |