Numpy会自动检测并使用GPU吗?

sye*_*106 14 python gpu numpy

我有几个关于使用Numpy和GPU(nvidia GTX 1080 Ti)的基本问题.我是GPU的新手,并且想确保我正确使用GPU加速Numpy/Python.我在互联网上搜索了一段时间,但没有找到解决我问题的简单教程.如果有人能给我一些指示,我会很感激:

1)Numpy/Python是否自动检测GPU的存在并利用它来加速矩阵计算(例如numpy.multiply,numpy.linalg.inv,...等)?或者我是否以特定的方式使用代码来利用GPU进行快速计算?

2)有人可以推荐使用Numpy/Python和GPU(nvidia)的好教程/介绍材料吗?

非常感谢!

tal*_*ies 16

Numpy/Python是否会自动检测GPU的存在并利用它来加速矩阵计算(例如numpy.multiply,numpy.linalg.inv,...等)?

没有.

或者我是否以特定的方式使用代码来利用GPU进行快速计算?

是.搜索Numba,Theano,PyTorch或PyCUDA以获取用GPU加速Python的不同范例.

  • 作为参考,https://stsievert.com/blog/2016/07/01/numpy-gpu/ 是远古时期(2016 年)的博客条目,但不断更新。 (3认同)

Bha*_*rma 12

不。Numpy 不使用 GPU。但你可以使用 CuPy。CuPy 的语法与 NumPy 非常兼容。因此,要使用 GPU,您只需替换以下代码行

 import numpy as np
Run Code Online (Sandbox Code Playgroud)

import cupy as np
Run Code Online (Sandbox Code Playgroud)

就这样。继续运行您的代码。我想我应该在这里提到的另一件事是,要安装 CuPy,您首先需要安装 CUDA。由于您问题的目标是通过使用 GPU 来加快计算速度,因此我还建议您探索 PyTorch。使用 PyTorch,您几乎可以完成使用 NumPy 可以完成的所有操作,甚至更多。如果您已经熟悉 NumPy,那么学习曲线也会非常平滑。您可以在此处找到有关用 PyTorch 替换 NumPy 的更多详细信息: https: //www.youtube.com/watch?v =p3iYN-2XL8w


Den*_*ker 8

不,您也可以使用与 numpy 具有类似界面的 CuPy。https://cupy.chainer.org/


小智 7

JAX 使用 XLA 编译 NumPy 代码以在 GPU/TPU 上运行: https: //github.com/google/jax