NumPy 不會主動檢測並利用 GPU,雖然 NumPy 已經很好用了,但是能利用 GPU 的 NumPy 替代品速度會更快。 ...
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