我在ArchLinux
上运行,我的python版本是2.7.8
,并且安装了BLAS
和{
% 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
和{
然而,我对np.dot
操作的速度测试远远超过30秒,因为我知道在一台类似的机器上,它运行得很好,不到10秒。如何解决速度问题?在安装支持BLAS
和LAPACK
的numpy时,我是否遗漏了一些内容?在
好吧,这就是整个故事。首先,初始设置很慢,因为
BLAS
是一个参考实现,其设计不是很快。我重复一次,到今天为止,ArchLinux额外存储库中的包blas
是参考实现。有关详细信息,请参见Presentation
部分here。在第二,有
BLAS
的优化版本(实际上,相当多的版本:ATLAS、OpenBlas、Goto BLAS、MKL等等,毫无疑问)。它们的安装相当棘手。我最终安装了OpenBlas,下面是在ArchLinux上安装OpenBlas的一步一步的概述:openblas-lapack
package from the AURpython2-numpy-openblas
package from the AUR,它与普通的python2-numpy
包不同,site.cfg
配置文件指示{openblas
库。在这些动作为我解决了问题,现在的速度比我在问题中提到的测试1秒以下要好得多。另外,numpy还显示它是用openblas编译的:
我相信为
python3
设置openblas
的过程看起来非常相似。在我的建议是从源代码构建“numpy”,并将其与BLAS和LAPACK链接起来。在
相关问题 更多 >
编程相关推荐