numpy.dot速度很慢,但已经安装了blas和lapack,该如何解决?

alis属

我正在上ArchLinux,我的Python版本是2.7.8两者BLASLAPACK安装:

% 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并确认同时看到了BLASLAPACK

>>> 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当我知道在一台类似的机器上,它的运行速度不到10秒时,我运行速度测试已经超过了30秒。如何解决速度问题?在安装numpy和BLASand LAPACKsupport时我错过了什么吗?

alis属

好了,这是整个故事。首先,初始设置很慢,因为它不是BLAS一个快速实现参考实现从今天开始,我重复一遍,blasArchLinux Extra存储库中的软件包是参考实现。有关详细信息,请参见此处Presentation部分

其次,有的优化版本BLAS(实际上有很多:ATLAS,OpenBlas,Goto BLAS,MKL等)。它们安装起来非常棘手。我最终安装了OpenBlas,这是在ArchLinux上进行此操作的逐步概述:

  1. 从AUR安装openblas-lapack 软件包
  2. 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

我认为,建立的过程openblas为导向numpypython3长相非常相似。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

numpy.dot速度很慢,但已经安装了blas和lapack,该如何解决?

来自分类Dev

如何解决 unhashable 类型:numpy ndarray

来自分类Dev

从安装numpy

来自分类Dev

用LAPACK / BLAS安装numpy的最简单方法是什么?

来自分类Dev

无法让 Python3 numpy 看到 BLAS/LAPACK

来自分类Dev

即使安装了numpy也无法导入?

来自分类Dev

Numpy数组索引和/或加法似乎很慢

来自分类Dev

为什么我用numpy memmap收到OverflowError和WindowsError以及如何解决?

来自分类Dev

numpy.dot的逆

来自分类Dev

如何解决numpy中的此MemoryView错误?

来自分类Dev

PTVS 2015 Numpy安装

来自分类Dev

安装numpy时出错

来自分类Dev

在Windows上安装NumPy

来自分类Dev

无法安装Numpy

来自分类Dev

我已经在ubuntu 16.04中安装了powershell,但是在终端中键入powershell时却说找不到命令,我该如何解决呢?

来自分类Dev

如何正确安装NumPy ufunc?

来自分类Dev

如何从numpy矩阵传递到numpy数组?

来自分类Dev

如何解决“ RuntimeError:由于Windows运行时中的错误,当前的Numpy安装无法通过健全性检查。”

来自分类Dev

Numpy级联速度很慢:是否有其他替代方法?

来自分类Dev

numpy数组和pymssql

来自分类Dev

numpy和diff()

来自分类Dev

使用fsolve和numpy

来自分类Dev

numpy广播和条件

来自分类Dev

numpy广播和循环

来自分类Dev

为什么jax.numpy.dot()在CPU上的运行速度比numpy.dot()更慢?

来自分类Dev

如何检查numpy数组是否已经存在?

来自分类Dev

如何重塑numpy图片?

来自分类Dev

numpy重塑如何工作?

来自分类Dev

如何升级NumPy?