2024-05-16 02:14:45 发布
网友
我是CUDA的新手,我想弄清楚PyCUDA (free)还是NumbaPro CUDA Python(不是免费的)对我是否更好(假设图书馆的费用不是问题)。
两者似乎都要求您使用它们各自的Python方言。但是,PyCUDA似乎要求您用C代码编写一个内核函数,这比使用NumbaPro要麻烦得多,NumbaPro似乎为您做了所有的艰苦工作。
C
真的是这样吗?会有显著的性能差异吗?
让我们来谈谈这些库中的每一个:
皮库达:
PyCUDA是一个用于CUDA的Python编程环境,它允许您从Python访问Nvidia的CUDA并行计算API。C++中的C++ C++(底层)和Python编写了C++代码,在英伟达芯片上执行C++代码,并编译、执行和获取C++代码的结果,并自动管理资源,使之成为强大的库CUDA之一。
PyCUDA与PyOpenCl略有不同,PyOpenCl可以用于在各种平台上运行代码,包括Intel、AMD、NVIDIA和ATI芯片。与PyCUDA不同,PyCUDA只能在NVIDIA芯片上运行:
Python + CUDA = PyCUDAPython + OpenCL = PyOpenCL
Python + CUDA = PyCUDA
Python + OpenCL = PyOpenCL
NUMBA/NumbaPro:
NUMBA:NumbaPro或最近的Numba(NumbaPro已被弃用,其代码生成功能已转移到开放源代码Numba中)是由Anaconda,Inc.赞助的一个开放源代码的numpython优化编译器,它使用出色的LLVM编译器基础结构来编译Python语法以生成代码。Numba支持编译Python以在CPU或GPU硬件上运行,它基本上是用Python编写的。它易于安装和实现。
正如@Wang提到的,Pycuda比Numba快。
numbapro现在是numba在BSD许可证上,它也是免费的。
根据this报告,pyOpenCL和pyCUDA比numba快5倍
让我们来谈谈这些库中的每一个:
皮库达:
PyCUDA是一个用于CUDA的Python编程环境,它允许您从Python访问Nvidia的CUDA并行计算API。C++中的C++ C++(底层)和Python编写了C++代码,在英伟达芯片上执行C++代码,并编译、执行和获取C++代码的结果,并自动管理资源,使之成为强大的库CUDA之一。
PyCUDA与PyOpenCl略有不同,PyOpenCl可以用于在各种平台上运行代码,包括Intel、AMD、NVIDIA和ATI芯片。与PyCUDA不同,PyCUDA只能在NVIDIA芯片上运行:
NUMBA/NumbaPro:
NUMBA:NumbaPro或最近的Numba(NumbaPro已被弃用,其代码生成功能已转移到开放源代码Numba中)是由Anaconda,Inc.赞助的一个开放源代码的numpython优化编译器,它使用出色的LLVM编译器基础结构来编译Python语法以生成代码。Numba支持编译Python以在CPU或GPU硬件上运行,它基本上是用Python编写的。它易于安装和实现。
正如@Wang提到的,Pycuda比Numba快。
numbapro现在是numba在BSD许可证上,它也是免费的。
根据this报告,pyOpenCL和pyCUDA比numba快5倍
相关问题 更多 >
编程相关推荐