1
如果我想重新编写我的应用程序以充分利用nVidia CUDA SDK的强大功能,那么在不同的SDK产品之间的运行时性能方面是否存在差异:C++,Java,Python?不同CUDA SDK之间的性能差异?
这3款SDK之间有没有什么区别,除了明显的语言使用?
如果我想重新编写我的应用程序以充分利用nVidia CUDA SDK的强大功能,那么在不同的SDK产品之间的运行时性能方面是否存在差异:C++,Java,Python?不同CUDA SDK之间的性能差异?
这3款SDK之间有没有什么区别,除了明显的语言使用?
对处理的CPU绑定部分会有可测量的性能影响。例如,如果您的CUDA数据在到达GPU之前需要进行预处理,那么在Python中编写数值例程将不太理想。
如果您的CUDA例程在计算时间中占主导地位(CPU保持相对空闲状态),则任何绑定都是不错的选择。
最好先用诸如Python之类的语言进行原型开发,并且如果确定性能瓶颈,则将该代码移至C++。
在您提到的三种情况下(C++,Java,Python),CUDA内核本身基本上是相同的,不同之处在于API绑定在GPU上设置和启动内核。因此,一旦内核实际运行,就像情感所说,没有任何区别。 – Tom 2010-06-03 09:39:11