NumPy 会自动检测并利用 GPU 吗?

PyTorch 官网 60 分钟入门教程在介绍什么是 PyTorch 时有一句话:A replacement for NumPy to use the power of GPUs

PyTorch 是 NumPy 的替代品,可以使用GPU的强大功能。难道强大的 NumPy 不利用 GPU?

Stack Overflow 上有同样的问题:Does Numpy automatically detect and use GPU?
给出的回答是:NumPy 不会主动检测并利用 GPU

而为了利用 GPU,NumPy 有很多替代品,像 CuPy、Numba,当然 PyTorch 也算一种。

博客 NumPy GPU acceleration - Scott Sievert 中做了一些实验,查看 NumPy without mkl、NumPy with mkl、以及 cudamat 三者在执行矩阵乘法A@B的时长:

Intel® Math Kernel Library (Intel® MKL) optimizes code with minimal effort for future generations of Intel® processors.

小结:

  1. NumPy 不会主动检测并利用 GPU;
  2. 在安装 NumPy 的时候,为了速度更快,我们可以安装带 mkl 的版本,尽管这仍没有利用 GPU;
  3. 使用 GPU 版本的 NumPy 替代品,如 PyTorch。

References

PyTorch
Does Numpy automatically detect and use GPU?
NumPy GPU acceleration - Scott Sievert

posted @ 2019-09-05 21:46 wuliytTaotao 阅读(...) 评论(...) 编辑 收藏