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.
小结:
- NumPy 不会主动检测并利用 GPU;
- 在安装 NumPy 的时候,为了速度更快,我们可以安装带 mkl 的版本,尽管这仍没有利用 GPU;
- 使用 GPU 版本的 NumPy 替代品,如 PyTorch。
References
PyTorch
Does Numpy automatically detect and use GPU?
NumPy GPU acceleration - Scott Sievert
作者:wuliytTaotao
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。