我可以仅使用Python编程Nvidia的CUDA,还是必须学习C?

Aqu*_*fan 36 python cuda opencl

我想这个问题不言而喻.我有兴趣做一些严肃的计算,但不是贸易程序员.我可以将足够多的python串起来完成我想要的任务.但我可以在python中编写程序并让GPU使用CUDA执行它吗?或者我是否必须使用python和C的混合?

Klockner(sp)"pyCUDA"网页上的例子混合了python和C,所以我不确定答案是什么.

如果有人想要了解Opencl,请随意.我几周前就听说过这个CUDA业务,并且不知道你可以使用这样的视频卡.

dwf*_*dwf 20

你应该看看CUDAmatTheano.两者都是编写在GPU上执行的代码的方法,而不必非常了解GPU编程.


Ale*_*lli 18

我相信,使用PyCUDA,您的计算内核将始终必须写为"CUDA C代码".PyCUDA负责许多其他繁琐的簿记工作,但不会从Python代码构建计算CUDA内核.

  • 我们在工作中使用PyCUDA并使用它获得良好的结果.编写普通CUDA C的好处是,您可以从其他人那里获得帮助和片段,而无需转换API特定的python代码. (2认同)

Eri*_*got 8

pyopencl提供了一个有趣的替代PyCUDA.它被描述为PyCUDA的"姐妹项目".它是OpenCL API 的完整包装器.

据我了解,OpenCL具有在Nvidia之外运行GPU的优势.


小智 5

很好的答案,但另一个选择是Clyther.通过将Python的子集编译为OpenCL内核,它可以让您编写OpenCL程序而不使用C语言.