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

时间:2018-04-02 04:14:34

标签: python numpy gpu

我有一些关于使用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' s)的好教程/介绍材料吗?

非常感谢!

4 个答案:

答案 0 :(得分:11)

  

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

没有

  

或者我是否有特定方式的代码来快速利用GPU   计算

是。搜索Numba,Theano,PyTorch或PyCUDA,了解使用GPU加速Python的不同范例。

答案 1 :(得分:4)

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

答案 2 :(得分:2)

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

 import numpy as np

import cupy as np

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

答案 3 :(得分:1)

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