【问题标题】:Numpy, Atlas and LapackNumpy、Atlas 和 Lapack
【发布时间】:2013-03-13 11:26:07
【问题描述】:

我正在使用 numpy 进行一些数组操作,它目前非常慢。 matlab 中的相同操作(计算协方差矩阵)只需要一秒钟。我已经安装了 atlas 和 lapack,但我不确定我的 numpy 是否真的在使用它们。有谁知道如何检查? 我用的是mac

【问题讨论】:

  • 您能否提供更多信息(数组大小、使用的函数等)?
  • 22277 X 520 是数组的大小,我使用的是 np.loadtxt() 和 no.cov()。他们都需要很长时间
  • numpy.show_config() 的输出是什么?
  • 我明白了: blas_opt_info: define_macros = [('NO_ATLAS_INFO', 3)] extra_compile_args = ['-msse3', '-I/System/Library/Frameworks/vecLib.framework/Headers'] extra_link_args = ['-Wl,-framework', '-Wl,Accelerate'] lapack_opt_info: define_macros = [('NO_ATLAS_INFO', 3)] extra_compile_args = ['-msse3'] extra_link_args = ['-Wl,-framework', '-Wl,加速']
  • covX = np.cov( X, rowvar=1 ) 之后检查covX.shape 是520^2 而不是22277^2

标签: python numpy python-3.3 lapack atlas


【解决方案1】:

要让 numpy 使用 ATLAS,您要么必须

  • 从源代码构建它,设置 site.cfg 文件以便它可以找到您的 ATLAS 库。这让我花了一天的大部分时间开始在 Gentoo 上工作(请参阅 this bug report),不幸的是,我不确定我的经验是否能很好地转化为 Mac。
  • 查找使用 ATLAS 的预编译包。 AnacondaCanopy 可能是不错的选择,尽管它们可能只在付费版本中包含优化的库 - 我不确定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-05
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多