【问题标题】:Performance differences between different CUDA SDK's?不同 CUDA SDK 之间的性能差异?
【发布时间】:2011-02-27 00:09:30
【问题描述】:

如果我想重写我的应用程序以利用 nVidia 的 CUDA SDK 的强大功能,那么不同的 SDK 产品(C++、Java、Python)之间的运行时性能是否有任何差异?

除了使用明显的语言之外,这 3 个 SDK 之间有什么区别吗?

【问题讨论】:

    标签: cuda gpu nvidia


    【解决方案1】:

    您的处理过程中受 CPU 限制的部分会对性能产生可衡量的影响。例如,如果您的 CUDA 数据需要在到达 GPU 之前进行预处理,那么用 Python 编写数值例程就不是最佳的了。

    如果您的 CUDA 例程占主导地位(CPU 保持相对空闲),则任何绑定都是不错的选择。

    最好先用 Python 等语言创建原型,如果发现性能瓶颈,则将该代码移至 C++。

    【讨论】:

    • 在您提到的三种情况下(C++、Java、Python),CUDA 内核本身本质上是相同的,区别在于用于在 GPU 上设置和启动内核的 API 绑定。因此,正如 theatrus 所说,一旦内核实际运行,就没有区别了。
    猜你喜欢
    • 2021-09-24
    • 2012-11-02
    • 2023-03-18
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 2012-05-26
    相关资源
    最近更新 更多