【发布时间】:2014-03-07 10:05:12
【问题描述】:
TL;DR如何在不重建的情况下将 ATLAS/MKL 链接到现有 Numpy。
我使用 Numpy 计算大矩阵,发现它非常慢,因为 Numpy 只使用 1 个核心进行计算。经过大量搜索后,我发现我的 Numpy 没有链接到像 ATLAS/MKL 这样的优化库。这是我的 numpy 配置:
>>>import numpy as np
>>>np.__config__.show()
blas_info:
libraries = ['blas']
library_dirs = ['/usr/lib']
language = f77
lapack_info:
libraries = ['lapack']
library_dirs = ['/usr/lib']
language = f77
atlas_threads_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['blas']
library_dirs = ['/usr/lib']
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/lib']
language = f77
define_macros = [('NO_ATLAS_INFO', 1)]
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
mkl_info:
NOT AVAILABLE
出于这个原因,我想将 ATLAS/MKL 链接到 Numpy。但是,我的 Numpy 是从 PIP 安装的,所以我不想手动安装,因为我想使用最新版本。我已经进行了一些搜索,但它们仅用于从头开始构建。因此,我的问题是:
- 有没有办法将 ATLAS/MKL 链接到 Numpy 而无需再次重建?
- 我发现配置信息保存在 Numpy 安装文件夹的 _config_.py 中。那么修改它会解决我的问题吗?如果是,请告诉我怎么做?
【问题讨论】:
标签: python performance numpy linear-algebra blas