0

我正在尝试使用库 Lapack 和 Atlas 从源代码安装 python numpy。我已经意识到 Atlas 本身包含 lapack 库。但是,如果我编译它(仅限地图集),它有 0.5 MB。部署 Netlib Lapack 时,库 liblapac.a 超过 13 MB。这导致我提出以下问题:

关于 numpy/scipy 的问题:

  1. 我可以仅使用 netlib 的 Lapack 或仅使用 Atlas lib 安装 numpy/scipy 吗?
  2. (如果 1 的答案是肯定的)如果只安装了 Atlas lib(没有 netlib 的 Lapack)-是否有任何缺点(性能、功能不可用......)
  3. 在没有安装 Lapack/Atlas 的情况下,是否有任何性能评估 numpy/scipy 的表现如何?
  4. Numpy,还是 Scipy 使用更多的 Atlas/Lapack?有什么显着差异吗?

谢谢!

4

1 回答 1

2

ATLAS 不是完整的 LAPACK 实现。它只提供了一些经过优化的例程。 此 ATLAS 页面解释了如何构建也使用 ATLAS 的完整 LAPACK。

从页面:

ATLAS 本身只提供了相对少数的构成 LAPACK 的例程。

SciPy 主页告诉您 SciPy 需要 LAPACK,但 numpy 不需要:

在构建之前,您还需要安装 NumPy 和 SciPy 依赖的包

  • BLAS 和 LAPACK 库(可选,但强烈建议 NumPy 使用,SciPy 需要):通常是 ATLAS + LAPACK,或 MKL,或 ACML

[...]

总而言之,如果你想要 SciPy,你需要 LAPACK。如果您想要更快的 LAPACK,您可能还需要安装 ATLAS。如果您只想要 numpy,则不需要 LAPACK,但 SciPy 人认为这是一个好主意。

于 2015-01-10T15:51:13.217 回答