Numpy 确保在 Mac Pro 上使用 MKL 库
阅读更多:Numpy 教程
什么是 Numpy?
Numpy 是 Python 中最常用的科学计算库之一,它提供了一个强大的高维数组对象,以及对这些数组进行操作的函数。它在数据处理、科学计算和机器学习领域都有广泛的应用。
在 Mac Pro 上使用 Numpy 时,我们需要确保它使用了 MKL(Intel Math Kernel Library)库,这可以使 Numpy 在科学计算方面具有更高的性能。
MKL 库
MKL 是英特尔开发的一款高性能科学计算库。它包含了一些常见的数学函数以及一种使用多线程和 SIMD 指令优化的矩阵乘法实现(称为 DGEMM)。因为 MKL 能够利用现代 CPU 的硬件优化技术,因此它比标准Python库更快。
确认 Numpy 是否正在使用 MKL
在使用 Numpy 前,我们需要确认它是否正在使用 MKL。一种简单的方法是在 Python 中导入 Numpy 并打印出 MKL 版本号。
import numpy as np
print(np.__config__.show())
输出应该会类似于下面的内容:
blas_mkl_info:
NOT AVAILABLE
openblas_info:
NOT AVAILABLE
atlas_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
NOT AVAILABLE
lapack_info:
NOT AVAILABLE
blas_info:
NOT AVAILABLE
mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/opt/intel/mkl/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/opt/intel/mkl/include']
blas_src_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
atlas_3_10_blas_info:
NOT AVAILABLE
lapack_src_info:
NOT AVAILABLE
blas_opt_info:
NOT AVAILABLE
lapack_opt_info:
NOT AVAILABLE
如果输出中有 mkl_info 的内容,则说明 Numpy 正在使用 MKL。
安装 Numpy + MKL
如果确定要使用 MKL,可以按以下步骤在 Mac Pro 上安装:
- 安装 Intel 的 MKL 库
首先需要下载 Intel 的 MKL 库。你需要注册一个免费的 Intel 账户才能下载。
下载页面:https://software.intel.com/content/www/us/en/develop/tools/math-kernel-library/choose-download/macos.html
下载后,打开 dmg 文件并安装 MKL 库。
- 安装支持 MKL 的 Numpy
安装支持 MKL 的 Numpy 非常简单,直接使用下面的命令即可:
pip install numpy
Numpy 将会自动检测可用的 BLAS / LAPACK(如 MKL),并使用指定的库进行编译。
验证 Numpy 是否在使用 MKL
验证方式与确认 Numpy 是否正在使用 MKL 一节中提到的一样。
重新输入以下内容:
import numpy as np
print(np.__config__.show())
如果输出中有 mkl_info 的内容,则说明 Numpy 正在使用 MKL。
总结
在 Mac Pro 上使用 MKL 可以提高 Numpy 的性能,因为它是一个针对高性能科学计算的高性能数学库,能够高效地利用多核 CPU 的优势和 SIMD 指令。
要确保 Numpy 使用 MKL 库,我们需要首先确认当前 Numpy 是否在使用 MKL,其次需要安装支持 MKL 的 Numpy。通过这些步骤,我们可以使用 Numpy 在 Mac Pro 上获得更高的性能。
极客教程