PyCUDA和NumbaPro-CUDA-Python之间有什么区别?

PyCUDA和NumbaPro-CUDA-Python之间有什么区别?,python,cuda,numba,pycuda,numba-pro,Python,Cuda,Numba,Pycuda,Numba Pro,我是CUDA的新手,我正在努力弄清楚是否(不免费)对我更有利(假设图书馆费用不是问题) 两者似乎都要求您使用各自的Python方言。但是,PyCUDA似乎要求您在C代码中编写内核函数,这比使用NumbaPro要麻烦得多,因为NumbaPro似乎为您完成了所有繁重的工作 真的是这样吗?会有显著的性能差异吗?现在是免费的BSD许可证 根据报告,pyOpenCL和pyCUDA的速度是numba的5倍 PyCUDA: 是一个用于CUDA的Python编程环境,它使您可以从Python访问Nvidia的C

我是CUDA的新手,我正在努力弄清楚是否(不免费)对我更有利(假设图书馆费用不是问题)

两者似乎都要求您使用各自的Python方言。但是,PyCUDA似乎要求您在
C
代码中编写内核函数,这比使用NumbaPro要麻烦得多,因为NumbaPro似乎为您完成了所有繁重的工作

真的是这样吗?会有显著的性能差异吗?

现在是免费的BSD许可证


根据报告,pyOpenCL和pyCUDA的速度是numba的5倍

PyCUDA:

是一个用于CUDA的Python编程环境,它使您可以从Python访问Nvidia的CUDA并行计算API。在C++ C++(C++底层)和Python中编写,C++代码将在英伟达芯片上执行,Python代码编译、执行并获得C++代码的结果,并自动管理资源,使之成为强大的库CUDA。 PyCUDA与PyOpenCl略有不同,PyOpenCl可用于在多种平台上运行代码,包括Intel、AMD、NVIDIA和ATI芯片。与只能在NVIDIA芯片上运行的PyCUDA不同:

Python+CUDA=PyCUDA

Python+OpenCL=PyOpenCL

NUMBA/NumbaPro:

:NumbaPro或最近的Numba(NumbaPro已被弃用,其代码生成功能已转移到开源的Numba)是由Anaconda,Inc.赞助的Python开源NumPy优化编译器。它使用卓越的LLVM编译器基础设施将Python语法编译为机器代码。支持编译Python以在CPU或GPU硬件上运行,基本上是用Python编写的。它易于安装和实现


正如@Wang提到的,Pycuda比Numba快。

numbapro现在是BSD许可证上的Numba,也是免费的。Numba是Nvidia合作的项目。Numba不直接提供cuBLAS访问,这是通过
加速.cuda.blas
启用的。