【问题标题】:Does Numpy automatically detect and use GPU?Numpy 会自动检测和使用 GPU 吗?
【发布时间】:2018-09-11 07:31:26
【问题描述】:

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

非常感谢!

【问题讨论】:

  • 您可能可以使用检测 GPU 的数学库编译 numpy,但我认为这不是 numpy 自己提供的。
  • 不,它没有。

标签: python numpy gpu


【解决方案1】:

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

没有。

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

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

【讨论】:

【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      没有。 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

      【讨论】:

        猜你喜欢
        • 2019-10-03
        • 2019-05-24
        • 1970-01-01
        • 1970-01-01
        • 2017-12-20
        • 2012-10-23
        • 2018-06-10
        • 2017-05-24
        • 2019-04-02
        相关资源
        最近更新 更多