我正在尝试使用库Lapack和Atlas从源代码安装python numpy。我已经意识到Atlas本身包含lapack库。但是,如果我编译它(仅限阿特拉斯),它有 0.5 MB。部署Netlib Lapack时,libblapac.a库的内存超过13 MB。这让我想到以下问题:
关于 numpy/scipy 的问题:
- 我可以只用netlib的Lapack安装numpy/scipy吗,或者只能用Atlas lib安装吗?
- (如果 1 的答案是肯定的)如果只安装了 Atlas lib(没有 netlib 的 Lapack)-是否有任何缺点(性能、功能不可用,...)
- 是否有任何性能评估 numpy/scipy 在没有安装 Lapack/Atlas 的情况下是如何做的?
- Numpy,或者Scipy确实使用更多的Atlas/Lapack? 有什么显着区别吗?
谢谢!
ATLAS不是一个完整的LAPACK实现。它只提供一些经过优化的例程。这个ATLAS页面解释了如何构建也使用ATLAS的完整LAPACK。
从页面:
ATLAS本身只提供了构成LAPACK的相对少数例程。
SciPy 主页告诉您,您需要 LAPACK for SciPy,但不适用于 numpy:
在构建之前,您还需要安装 NumPy 和 SciPy 依赖的软件包。
- BLAS 和 LAPACK 库(可选,但强烈建议用于 NumPy,SciPy 需要):通常是 ATLAS + LAPACK,或 MKL 或 ACML
[...]
总而言之,如果你想要SciPy,你需要LAPACK。如果你想要一个更快的LAPACK,你可能也想安装ATLAS。如果你只想要numpy,LAPACK不是必需的,但被SciPy人认为是一个好主意。