我有一些关于使用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)的好教程/介绍材料吗?
非常感谢!
答案 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/