- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我是 CUDA 的新手,我想知道是否 PyCUDA (free)或 NumbaPro CUDA Python (不是免费的)对我来说更好(假设图书馆费用不是问题)。
两者似乎都要求您使用各自的 Python 方言。但是,PyCUDA 似乎要求您用 C
代码编写内核函数,这比使用 NumbaPro 更麻烦,NumbaPro 似乎为您完成了所有繁重的工作。
真的是这样吗?会有显着的性能差异吗?
最佳答案
让我们来谈谈这些库中的每一个:
PyCUDA:
PyCUDA是 CUDA 的 Python 编程环境,它使您可以从 Python 访问 Nvidia 的 CUDA 并行计算 API。 PyCUDA用C++(基础层)和Python编写,C++代码将在NVIDIA芯片上执行,Python代码编译、执行并获取C++代码的结果并自动管理资源,使其成为功能强大的库之一CUDA.
PyCUDA 与 PyOpenCl 略有不同,可用于在各种平台上运行代码,包括 Intel、AMD、NVIDIA 和 ATI 芯片。与只能在 NVIDIA 芯片上运行的 PyCUDA 不同:
Python + CUDA = PyCUDA
Python + OpenCL = PyOpenCL
NUMBA/NumbaPro:
NUMBA :NumbaPro 或最近的 Numba(NumbaPro 已被弃用,其代码生成功能已移至开源 Numba。)是由 Anaconda, Inc. 赞助的开源 NumPy 感知 Python 优化编译器。它使用卓越的 LLVM 编译器基础架构将 Python 语法编译为机器代码。 Numba支持编译 Python 以在 CPU 或 GPU 硬件上运行,并且它基本上是用 Python 编写的。它易于安装和实现。
正如@Wang 提到的,Pycuda 比 Numba 更快。
关于python - PyCUDA 和 NumbaPro CUDA Python 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45164459/
我正在比较几个 Python 模块/扩展或方法来实现以下目标: import numpy as np def fdtd(input_grid, steps): grid = input_gri
我正在寻找一种将 JIT 用于 python 类构造函数的方法,如下所示: import numpy as np from numbapro import jit, autojit from time
import numpy import numpy as np from numbapro import cuda @cuda.autojit def foo(aryA, aryB,out):
谁能向我解释一下为什么每次我运行这段代码时我的电脑都会死机? from numbapro import cuda import numpy as np from timeit import defau
我正在尝试运行以下程序: import numpy as np from timeit import default_timer as timer from numbapro import vecto
我正在尝试使用作业设置 3D 循环 C(i,j,k) = A(i,j,k) + B(i,j,k) 在我的 GPU 上使用 Python。这是我的 GPU: http://www.geforce.co
我正在尝试使用 NumbaPro 的 cuda 扩展来乘以大型数组矩阵。最后我想要的是将大小为 NxN 的矩阵乘以一个对角矩阵,该矩阵将作为一维矩阵输入(因此,我发现 a.dot(numpy.diag
总体目标是使用NumbaPro在 GPU 上运行某些功能(在 OSX 10.8.3 上)。 在开始之前,我只是想把一切都设置好。根据this page我安装了 CUDA,注册为 CUDA 开发人员,下
我正在使用 Python/NumbaPro 在 Windows 机器上使用我的 CUDA 兼容 GPU。我使用 Cygwin 作为 shell,并且在 cygwin 控制台中可以毫无问题地找到我的 C
我是 CUDA 的新手,我想知道是否 PyCUDA (free)或 NumbaPro CUDA Python (不是免费的)对我来说更好(假设图书馆费用不是问题)。 两者似乎都要求您使用各自的 Pyt
我想使用 Numbapro API 在 python 中执行 CUDA 内核。我有这段代码: import math import numpy from numbapro import jit, cu
我是一名优秀的程序员,十分优秀!